TsskFlow Updated 7 November 2026

TsskFlow — Privacy

Your messages are end-to-end encrypted: TsskFlow can’t read them. To run the relay we process limited security, delivery and abuse-prevention data, described below. There’s no account and no API key. This policy may change; we’ll tell you first and ask you to agree again.

The app and the Mac program have no analytics or crash reporting. The relay passes along encrypted messages it can’t read; it does handle network addresses, delivery details, security identifiers and notification tokens, as described below. If you’ve chosen to share analytics with app developers in your iPhone’s settings, Apple may send us crash reports for the TsskFlow app. They contain technical details about the crash, not your messages. Apple’s setting decides this; TsskFlow sends nothing itself.

TsskFlow connects your phone and your Mac through a relay. Each message is sealed on your phone or your Mac and opened only on the other. We have no key, and neither does our hosting provider.

What’s stored, and for how long

On your phone. Your pairing keys and the key that encrypts your history stay in the phone’s Keychain, on that phone only: they don’t move to another device through a backup. Your history and unsent messages are stored encrypted in the app. Previews of attachments may stay in the app’s cache until you delete them or unpair.

On your Mac. The Mac keeps its pairing secrets encrypted, and your conversations, jobs and unsent messages in files only your Mac account can read. These files can include commands and their output. The Mac keeps a copy of each message and reply until your phone has caught up, and never longer than three days or past the last 200 messages. Files and photos you send from your phone are saved in Downloads/TsskFlow on your Mac and stay there until you delete them, even if you uninstall TsskFlow.

Unpairing. Unpairing clears the history, unsent messages and pairing keys on your phone. If your Mac is offline, the phone keeps the unpair notice, with its keys still protected, until the Mac gets it; unpair on the Mac too if it can’t. Deleting the iPhone app alone may not unpair it, because iOS can keep Keychain data after an app is deleted. Unpairing doesn’t erase history or jobs on the Mac; delete them there, or uninstall, if you want them gone.

On the relay. The relay keeps a record that a pairing is in use, and its daily message and data totals (never content), until the pairing has gone unused for 30 days. Encrypted messages expire within 6 minutes. A separate pseudonymous usage log for each pairing is currently off; we’d update this policy before turning it on, and it would keep daily totals for up to 31 days. Service-wide totals aren’t linked to any pairing and are kept for three months, as above.

Who’s involved

Cloudflare runs the relay and serves the Mac program’s downloads. Apple delivers the app and its lock-screen notifications. Vercel hosts the website. Buttondown keeps the signup list.

The website is hosted by Vercel, which keeps standard request logs (such as IP address and pages visited) for a short time. The app uses Vercel only to show you these pages when you tap Terms or Privacy Policy.

The Mac program is downloaded from Cloudflare, which keeps standard request logs. TsskFlow doesn’t check for updates on its own: you get a new version by running the install command again. We may release a new version to some Macs first. The installer picks a random number and keeps it on your Mac; it’s never sent, but the download your Mac asks for shows which version it got.

The coding agent you run

TsskFlow lets you use an agent already on your Mac from your phone: Antigravity, Claude Code, Codex, GitHub Copilot, Grok Build, Muse Code or opencode. The agent may send your messages, code, files and photos to its own provider, push them to GitHub or use the internet, just as it does when you work at your Mac. The provider’s own terms and privacy policy apply, and it may collect data under your account with them. TsskFlow doesn’t control that, and this policy doesn’t cover it.

This website’s signup form

This website has one form: the signup near the bottom of the home page. If you use it, we keep the email address you give it and the platforms you tick (Windows, Linux, Android) with Buttondown, only to email you when TsskFlow runs on them. Buttondown stores your address as unconfirmed and sends you a link to confirm it’s you. You won’t get updates until you tap it. Unsubscribe any time.

To limit repeated signups, the form keeps keyed hashes of network addresses, not the addresses, in server memory for at most ten minutes. Our error logs never include submitted email addresses or the email provider’s replies.

Getting in touch

Help and feedback: feedback@tsskflow.com
Security reports: security@tsskflow.com