# Use Your Own Mac or a Hosted Apple Connection

Canonical: https://figment.so/blog/apple-connect-own-mac-vs-hosted

Figment uses a signed-in Mac to run Apple operations that only work on macOS—most importantly iMessage. That Mac is either one you already own and connect to Figment, or a Figment-hosted Mac that the service manages for you. Both paths expose the same API, carry the same $29 per active live connection per month, and use the same scoped grant model. The difference is who keeps the hardware running and how much iMessage history is already cached when your first query lands.

## Why Every iCloud Bridge Needs a Mac

iMessage has no public server-side API. Reading or sending messages requires an active macOS environment with the Messages app signed in. Every solution in this space places a Mac at the center for that reason: BlueBubbles requires macOS Sierra or newer and reads from the Messages app's local `chat.db` database; AirMessage requires OS X 10.10 Yosemite or above on a Mac that stays connected to the internet at all times.

Figment follows the same constraint. What it adds is an abstraction layer—a hosted API that manages app grants and message actions—so your app calls a standard REST endpoint rather than managing a macOS process directly.

Mail, Calendar, and Contacts sit in a different category. Apple's documented [account authorization](https://support.apple.com/en-us/121539) lets apps access those services through standard protocols, and they may not require a Mac to stay on in every configuration. The own-Mac-versus-hosted trade-off matters most for iMessage and other native-macOS operations.

## What "Your Own Mac" Means in This Context

You run Figment's connection agent on a Mac you already own and keep online. The Mac is signed in to your Apple account, iMessage is active, and your iPhone's SMS/MMS forwarding is likely already paired with that device.

The main advantage is iMessage history availability from day one. Because the Mac has been signed in for weeks or months, its local `chat.db` already holds a substantial message history. When the connector moves to `ready`, that history is available without waiting for an initial iCloud sync.

The trade-off is uptime ownership. If the Mac sleeps, restarts, or drops off the network, the connection reports `offline` or `reconnect_required`. Figment surfaces that status to your app immediately, but it cannot recover your hardware. Disable sleep and configure a stable network connection before treating this as production infrastructure.

One caveat even on your own Mac: check `historyComplete` and `hasMore` in message responses before treating any result set as the full record. iCloud sync may not have finished even on a long-running device, and locally available history is bounded—it is not a guaranteed complete full-text index.

## What a Hosted Apple Connection Means

Figment provides the isolated Mac. During connection setup you sign in to your Apple account on the hosted Mac, complete the trusted-device approval on your iPhone or existing Apple device, and Figment's worker handles the macOS side from there. No hardware of yours needs to stay on.

The practical cost is sync time on first connection. The hosted Mac is new to your Apple account, so iMessage history needs to sync from iCloud before it is fully available. For long message histories, that can take hours to days. The connector status moves through `syncing` toward `ready` as each service comes online; non-ready services reject operations, so check status before querying.

SMS/MMS forwarding also requires a separate pairing step: your iPhone needs to recognize the hosted Mac as a trusted relay for SMS bridging. This is a one-time setup step, not a recurring problem, but budget time for it before your first SMS test.

## Availability, Local-Data Preference, and Cost Worksheet

Work through this table before you set up a connection. It maps the factors that differ between paths—the API surface, pricing, and grant model are the same either way.

| Factor | Your Own Mac | Figment Hosted Connection |
|---|---|---|
| **Hardware you manage** | Yes | No |
| **Uptime responsibility** | You | Figment |
| **iMessage history on day 1** | Likely available (already synced) | Requires iCloud sync—may take hours to days |
| **SMS/MMS forwarding ready** | Phone likely already paired | One-time iPhone pairing step needed |
| **Initial setup** | Install agent → sign in → approve | Sign in → approve on iPhone |
| **Figment connection fee** | $29/mo per active live connection | $29/mo per active live connection |
| **Sandbox** | Free | Free |
| **Mac hardware cost** | Existing hardware | Mac rental is a separate product |

The $29/month fee covers the Apple Connect product—scoped app grants and the REST API. Mac hosting, where it applies to your plan, is priced separately. See the [developer dashboard](/apple-connect/developers) for current options.

## What Stays the Same on Both Paths

The API surface is identical regardless of which Mac backs the connection. Your app calls `GET /v1/connections/{connection_id}` and related endpoints on `https://figment.so/api/apple-connect`, authenticated with a Figment access token—not an Apple password or any Mac worker credential.

The two iMessage scopes are the same on both paths: `messages:read` covers history and search; `messages:send` covers sends and is a separate grant that must name the specific existing conversations you can write to. Idempotency requirements, `sandbox` and `live` mode behavior, and connection status values are identical.

So is the grant model. Figment issues the app-access token; Apple does not issue it. Your app never receives the Apple account password. Revoking a grant at [/apple-connect/account](/apple-connect/account) stops that app's access without affecting other apps connected to the same Apple account. This means switching from your own Mac to a hosted connection—or the reverse—does not require a rewrite of your integration.

## Choosing Your Path and Getting Started

If you have a Mac that stays on and your Apple account is already signed in, start with your own Mac. The initial iMessage history advantage is real, and you skip the sync-wait period.

If you want zero hardware overhead, are building a hosted product, or simply do not have a spare Mac, the hosted Apple connection is the cleaner option—budget time for the initial iCloud sync and the SMS pairing step.

[Connect Apple Account](/apple-connect/developers) to start either path. Sandbox is free. Live connections are $29/month per active connection and access starts after setup.

For the full list of Apple services Figment exposes, see [OAuth for iCloud: Connect Apple Data to Your App](/oauth-for-icloud). To compare Figment against self-hosted alternatives, see [Figment vs BlueBubbles](/blog/figment-vs-bluebubbles), [Figment vs AirMessage](/blog/figment-vs-airmessage), and [Figment vs Claw Messenger](/blog/figment-vs-claw-messenger).
