Photon vs rustpush

Compare Photon and rustpush side by side: iMessage features, channels, developer tools, pricing and compliance, checked on each provider's own site.

Photon

Open-source agent framework with managed iMessage
Starting price
$25/month (Pro)
Free plan
Free: shared iMessage lines, up to 10 users (2.0 beta: 25 shared iMessage assignments and $100 credit)

rustpush

Rust library for the iMessage, FaceTime and APNs protocols
Starting price
Free
Free plan
Free source (SSPL v1)

Photon supports 75 of the 77 features compared here, and rustpush supports 39.

Where rustpush is ahead

Feature comparison

FeaturePhotonrustpush
iMessage messaging
iMessage
SupportedManaged cloud lines, or your own Mac with the local provider
SupportedRegisters as an Apple device and talks to Apple's servers directly; read from source, no docs
Group chats
SupportedOn the Business plan (dedicated lines)
SupportedConversations carry a participant list and optional group name
Group management
SupportedCreate groups and add, remove or leave members; Business plan (dedicated lines)
SupportedChangeParticipants messages add or remove members
Group name and photo
SupportedRename groups and set group photos; Business plan (dedicated lines)
SupportedRename and IconChange messages set a group's name and photo
Mentions
SupportedSend @mentions in multipart messages and read mention ranges on inbound
SupportedMention message parts
Tapbacks
SupportedSix native tapbacks plus emoji reactions, send and receive
SupportedSix classic tapbacks plus emoji; sticker tapbacks are receive only
Threaded replies
Supported
Supportedreply_guid and reply_part on messages
Typing indicators
Supported
SupportedTyping message type
Read receipts
SupportedMark chats read and receive read events; group receipts are best-effort
SupportedRead and Delivered message types
Edit and unsend
SupportedEdit within 15 minutes and unsend within 2 minutes (Apple limits)
SupportedEdit and Unsend message types
Message effects
SupportedAll bubble and screen effects, including invisible ink
Supportedeffect field on messages
Animated text effects
SupportedPer-range effects such as bloom, shake, explode and jitter
SupportedBig, small, shake, nod, explode, ripple, bloom and jitter
Stickers
SupportedPlace image stickers on any bubble with position, scale and rotation; sticker events inbound
PartialSticker tapbacks are received; the code marks sending them as unsupported
Formatted text
SupportedMarkdown rendered as native bold, italic, underline and strikethrough
SupportedBold, italic, underline and strikethrough
Attachments
SupportedFiles up to 100 MiB by default, including Live Photos
SupportedInline data or MMCS (iCloud) file transfer
Live Photos
SupportedHEIC still plus MOV companion uploaded as one Live Photo
PartialReceived attachments carry a Live Photo flag; uploads always set it to false
Rich link previews
Supportedrichlink() asks Messages to render its own preview
SupportedLinkMeta with LPLinkMetadata rich link data
Voice messages
Supported
Supportedvoice flag on messages
Contact cards
SupportedvCard or structured contacts, plus the bot's own native contact card
Not listed
Polls
SupportedCreate, vote, add options and receive poll events; all managed plans
Not listed
Chat backgrounds
Supported
SupportedSetTranscriptBackground sets or removes a chat background
Location sharing
SupportedFind My requests and live location; Business plan
PartialFind My clients read friends' and items' locations; OpenBubbles says sharing live location is unsupported
iMessage apps
SupportedCustom and live app cards; iMessage mini apps on the Business plan
SupportedExtension app balloons with template layouts
Live app cards
SupportedEdit an app card in place and render live UI without a new bubble
SupportedUpdateExtension messages update a sent app balloon
Sender name and photo
SupportedShares the agent's name and photo automatically; Business plan
SupportedShare Name and Photo, including contact posters
FaceTime calls
Not listed
SupportedCreate, ring, join and leave FaceTime sessions
Delivery status
SupportedSent, delivered, read and send-error fields per message
SupportedDelivered and Read receipts plus error messages
iMessage availability check
SupportedCheck if a number or email can get iMessage, SMS or RCS before sending
SupportedIDS lookups validate targets before sending
Focus and Notify Anyway
SupportedCheck if a recipient has Focus on, then trigger Notify Anyway
SupportedNotifyAnyways messages; StatusKit shares and receives Focus status
Numbers and delivery
Managed lines
SupportedSpectrum Cloud runs the Mac fleet; no Mac needed
Not supportedA library; you register your own Apple ID and device identity
Dedicated numbers
Supported$250 per line per month on Business
Not supportedNot offered
Shared numbers
SupportedFree and Pro route each user through a managed shared pool
Not supported
Bring your own number
SupportedYour own Apple ID when self-hosting on a Mac, and your own number for WhatsApp Business
SupportedYour own Apple ID; a phone number registers through an iPhone running a relay app
Line pooling
SupportedBusiness: auto-scale adds lines and a routing endpoint balances users
Not listed
SMS fallback
SupportedOn every plan per pricing; carrier rules apply to fallback traffic
Not listed
RCS fallback
Supported
Not listed
Outbound-first messaging
SupportedBusiness plan, up to 50 new contacts per line per day
SupportedSend to any handle after an IDS key lookup
Calls on the iMessage number
SupportedPlace and receive SIP calls from the line people already text
PartialFaceTime on the same Apple ID; no phone calls
Other channels
SMS
BetaStandalone SMS and MMS numbers with 10DLC in the 2.0 beta; SMS fallback on iMessage lines today
PartialSMS message type, sent through text forwarding from a registered iPhone
RCS
PartialSent on the iMessage line when the recipient cannot get iMessage
Not listed
WhatsApp
SupportedWhatsApp Business, one-to-one, on the Business plan
Not supportedNot offered
Telegram
Supported
Not supported
Slack
Supported@spectrum-ts/slack provider on npm and GitHub
Not supported
Email
BetaYour own domain with DKIM, SPF and inbound MX in the 2.0 beta
Not supported
Phone calls
SupportedSIP calls on iMessage lines; the 2.0 beta adds calls on SMS numbers
Not supportedNot offered; FaceTime only
Apple Messages for Business
BetaListed as available in the 2.0 beta
Not supportedNot offered
Unified channel API
SupportedOne Spectrum SDK across channels, and one REST model in the 2.0 beta
PartialiMessage and forwarded SMS share one message type; no other channels
Developer tools
REST API
SupportedREST API for projects and lines; sending over REST in the 2.0 beta
Not supportedRust library only; no HTTP API
TypeScript SDK
Supportedspectrum-ts, plus low-level iMessage and WhatsApp SDKs
Not listedRust crate only
Python SDK
Betaphotonhq-api on PyPI, for the 2.0 beta API
Not listed
Other SDKs
SupportedGo client for Advanced iMessage; Rust and Go clients for the 2.0 API
PartialThe library itself is a Rust crate; no other language bindings found
CLI
Supported@photon-ai/cli manages projects, lines, users and billing
Not listed
Webhooks
Supported
Not supportedLibrary only; your code receives messages directly, no webhooks
Signed webhooks
SupportedHMAC-SHA256, plus Standard Webhooks signatures
Not supportedNo webhooks
MCP server
SupportedHosted MCP server, plus an MCP server for the docs
Not listed
Open source
SupportedMIT: spectrum-ts, imessage-kit and most SDKs
PartialSource under SSPL v1; the Mac validation-data module is a closed-source stub
Self-hosting
SupportedRun the open-source core on your own Mac and number, no Spectrum Cloud
SupportedRuns inside your own application
Local testing
SupportedTerminal chat UI provider, no phone or number needed
Not listed
Custom channel providers
SupporteddefinePlatform plugs any interface into the same Spectrum API
Not listed
Event replay
SupportedCatch up on events after a disconnect from a durable sequence
Not listed
OpenTelemetry
SupportedOpt-in messaging traces in spectrum-ts, and traces in the 2.0 beta dashboard
Not listed
No-code integrations
Supportedn8n community nodes and a Dify plugin
Not listed
CRM integrations
Not listed
Not listed
Built for AI agents
Agent framework
SupportedSpectrum is a multi-channel agent framework with streaming replies
Not listed
Agent framework integrations
SupportedVercel Chat SDK, Mastra, LangChain, Convex and others
Not listed
Streaming replies
SupportedAI output streams into one iMessage bubble, edited in place
Not listed
Agent group chats
BetaAgents find other agents and add them to a group chat (2.0 beta)
Not listed
Human handoff
BetaA person can reply in a conversation from the 2.0 beta Inbox
Not listed
Audit logs
BetaAPI logs and traces in the 2.0 beta dashboard
Not listed
Message history API
SupportedList and get messages per chat
SupportedMessages in iCloud sync for chats, messages and attachments
Plans and compliance
Free plan
SupportedUp to 10 users on shared lines
SupportedFree source under SSPL v1
Public pricing
Supported
Not listedNo prices or commercial license terms published
No per-message fees
SupportedNo per-message fees for iMessage, WhatsApp or Telegram; SMS, voice and email are metered in the 2.0 beta
SupportedNo fees; free source
Uptime SLA
SupportedContractual SLA on the Enterprise plan
Not supportedSSPL disclaims all warranty
Isolated infrastructure
SupportedEach line runs in an isolated, dedicated environment
SupportedRuns in your own process and infrastructure
SOC 2 Type II
SupportedStated on photon.codes
Not listedSelf-hosted; compliance is up to the operator
GDPR
SupportedPrivacy policy covers GDPR rights and SCC transfers
Not listed

Checked on each provider's own site and docs on 2026-10-25. “Not listed” means the provider does not mention it.

Pricing

Photon

Free plan, Pro at $25/month, Business at $250 per dedicated line per month, and custom Enterprise; the 2.0 beta adds metered SMS, voice and email.

Pricing model: plan tiers plus flat fee per dedicated line

Source

rustpush

rustpush is free source under SSPL v1; you supply Apple hardware identifiers or an always-on iPhone relay, and anyone offering it as a service must publish their service's source.

Pricing model: free self-hosted library

Source

Which should you choose?

Choose Photon if you need contact cards, polls, managed lines and dedicated numbers.

Choose rustpush if you need FaceTime calls.

Frequently asked questions