Privacy Policy
Cuff Agent (the iPhone and Apple Watch app, and the Mac menu bar app) is operated by Shinya Azuma, an individual developer in Japan (“we”). Cuff Agent is self-hosted: the work you hand off runs on your own Mac, and we designed it so that we never see what you ask or what your agent answers.
Your requests stay between your devices
- Your voice recordings, their transcripts, and your agent’s results travel from your iPhone or Apple Watch to your own Mac (the “gateway”), and are stored there. They are not sent to our servers.
- Speech is transcribed on your Mac using Apple’s on-device speech recognition, unless you configure a different transcription tool yourself.
- The apps keep the connection details, keys and recent job information they need on your devices.
The notification relay
To deliver notifications, and to let your devices reach your Mac without exposing it to the internet, we run a relay at relay.cuffagent.app on Cloudflare Workers. The relay:
- Only handles end-to-end encrypted payloads. Notifications are encrypted with AES-GCM using keys your devices derive at pairing (X25519). The keys are never sent over the network, so the relay cannot read the contents. Requests passed through the relay are encrypted end to end between the app and your Mac in the same way.
- Stores only what it needs to route messages: Apple Push Notification service (APNs) device tokens, a random pairing ID, device IDs, and your Mac’s public signing key.
- Sends Live Activity updates that carry only a status code, a job ID, timestamps and a language code. Live Activities never contain your request text or results.
Like any web service, Cloudflare and Apple process technical data such as IP addresses to deliver traffic and notifications.
The agents you choose
The AI agent you connect (for example Claude Code, Codex, or your own webhook) runs on your Mac under your own account. What you send to those providers is governed by their terms and privacy policies, not ours. The same applies to any other service you set up yourself, such as a tunnel or a custom transcription tool.
Subscriptions
Purchases are processed by Apple. We use RevenueCat to manage subscription status. RevenueCat receives an anonymous app user ID and your purchase transactions and receipts; it does not receive your name, email address or the content of your requests. See RevenueCat’s privacy policy. We never receive your payment details.
This website
We use Cloudflare Web Analytics to count visits to cuffagent.app. It does not use cookies or local storage, and does not identify or track you across sites. It records things like the page visited, the referring site, your browser and country, and page load times, in aggregate. See Cloudflare’s privacy policy.
Links to the App Store include a campaign name, such as lp-hero, so that Apple’s App Store Connect can tell us in aggregate how many people came from each link. Apple does not share who you are with us.
What we don’t do
- No advertising, no tracking across apps or websites, and no third-party analytics SDKs.
- We do not sell or share your data.
- We do not require you to create an account with us.
Permissions
- Microphone (Apple Watch): to record the requests you speak. Transcription happens on your Mac, so the iPhone and Apple Watch apps do not ask for speech recognition access.
- Camera (iPhone): only to scan the pairing QR code shown by the Mac app.
- Notifications: to tell you when a job needs your approval or is done.
Deleting your data
Your requests and results live on your Mac, in ~/.cuff, and you can delete them at any time. Deleting the app removes its keys from your device. The relay holds only the routing data listed above for each pairing; email us to have it removed.
Children
Cuff Agent is not directed at children under 13, and we do not knowingly collect their information.
Changes
If we change this policy, we will update this page and its effective date.
Contact
Questions about privacy: support@cuffagent.app