CommonCompute
Get startedDownload the Mac app
Security

Tasks signed, sandboxed, and exportable as audit trail.

A Common Compute task crosses a lot of trust boundaries — your code, our coordinator, someone else's Mac. Every hop is signed, every input is whitelisted, and the binary that runs your work is signed by us and notarized by Apple. Here is exactly how.

01 — Sandbox
Every task runs in an ephemeral, isolated runner.

Job inputs reach the runner only through a single chokepoint that refuses anything except HTTPS to public hosts. Loopback, RFC1918 home networks, AWS metadata addresses, and link-local IPs are rejected — even via redirect. Downloads are magic-byte checked: a runner asking for an image cannot be handed a script. No shared state crosses tasks.

02 — Code signing
Signed by Apple Developer ID, notarized, stapled.

The macOS app ships with Apple's hardened runtime, a Developer ID Application signature, and an Apple-notarized + stapled DMG. Gatekeeper verifies all three before launch. Every Sparkle update is also EdDSA-signed with a private key we hold; your Mac refuses any update that doesn't verify against the public key baked into the shipped binary.

03 — Network posture
Outbound network only. No listeners, no plaintext.

The provider app declares the `com.apple.security.network.client` entitlement — and only that. It cannot open sockets, accept inbound connections, or read your camera, microphone, contacts, or files outside its container. All outbound traffic is TLS 1.2+. The blanket ATS exemption that was present in pre-1.5 builds is gone.

04 — Receipts
Every task is co-signed and exportable as audit trail.

The router signs each task assignment with Ed25519. Your Mac refuses anything that doesn't verify against the pinned public key, with a 5-minute clock-skew window and replay protection. On completion, results are co-signed by the executing node and the coordinator; the envelope is exportable as JSONL so you can prove what ran, where, and when.

05 — Secrets at rest
Session tokens require an unlocked screen, never sync to iCloud.

Your session token lives in the macOS Keychain under kSecAttrAccessibleWhenUnlockedThisDeviceOnly — physically inaccessible to anything running while the screen is locked, and never synced via iCloud Keychain. Existing entries from older builds were upgraded automatically on first launch of 1.5.0.

06 — Model integrity
Models are hash-pinned and verified byte-for-byte.

Model bundles fetched through ModelManager go through a signed manifest. The Mac SHA-256s every byte and refuses any model that doesn't match what we published. A compromised mirror cannot serve a backdoored model — the manifest signature would fail first.

Vulnerability disclosure

Found something? Tell us.

Email [email protected] with a description and steps to reproduce. We acknowledge within 7 calendar days and aim to ship a fix within 30 days for high-severity issues.

We don't run a paid bounty yet, but we publish a researcher hall of fame for valid reports. Good-faith research is welcome — don't access another user's data, don't degrade the service for others, and give us 90 days before publishing.

Coordinated disclosure policy in full: SECURITY.md

Subprocessors

Who else touches your data.

Cloudflare
DNS, CDN, edge compute (Workers), R2 object storage
US/Global
Apple
Notary service for macOS app signing
US
Stripe
Payouts to providers, customer billing
US/EU
Resend
Transactional email (verification, receipts)
US
Compliance — where we are, honestly

We'd rather be upfront than fake a certification.

Planned
SOC 2 Type II
Targeting Q1 2027 — once we have 6 months of mature ops to audit. We aren't a fly-by-night shop, but we also won't pre-sell a certification we don't have.
Planned
External penetration test
Scoped for after the v1.7 release. Results will be posted here in summary form once remediation lands.
Active
Internal red-team
v1.5.0 was a top-to-bottom hardening pass against a real adversary model. The release notes list every closed vector.

Questions we didn't answer here?

We answer security questionnaires by hand. Get in touch and we'll route to whoever owns the answer.

[email protected]Read the sandbox docs