What Twine reads, stores and writes.
Twine copies events between two calendars on rules you write. This page says exactly what it reads, keeps and writes to do that.
What Twine reads
To apply your rules, Twine reads events on the calendars those rules use, from today to the plan’s horizon (60 days ahead on Free and Twine Plus, 12 months on Twine Pro), once per check. Import the last year, on Twine Pro, reads the past 365 days of a rule’s calendars once. Twine also reads the list of calendars in each connected account, so you can pick from them.
Nothing is shown in a calendar view. Events appear in the app in three places only: the rule builder’s live preview, the activity log, and Overlaps to settle, where Twine lists the events it paused on.
On the phone, and only with your permission, Twine reads the names of the calendars and accounts already set up on it, to suggest and pre-fill the sign-in. It does not read events from the phone. The phone words that permission as access to your calendars, because it offers nothing narrower.
Google and Microsoft sign you in themselves, in the system browser. Google is asked only for your calendar events, the list of your calendars, the calendars Twine creates, and the account’s email address: never mail, contacts or files. Microsoft is asked for your calendars, for your basic profile (the account’s name and email address), and to keep that access while the app is closed: never mail, contacts or files.
iCloud is reached with your Apple ID and an app-specific password that you create, and can revoke, in your Apple ID settings. Apple does not limit an app-specific password to calendars, so Twine limits itself: it uses that password for iCloud’s calendar service and nothing else.
For every provider, Google included: Twine uses what it reads from your calendars only to run your rules and show you the results. It passes it to nobody except the services on this page that run Twine. It never uses it for advertising. And no person at Twine reads your events or your activity log, unless you ask for help and agree to it, abuse or a security problem has to be investigated, or the law requires it.
What Twine stores in your account
Rules are kept in the cloud from the first launch, so the sync can run with the app closed. Until you create a Twine account, they sit under a random id that belongs to the app on your phone. That is still your personal data, and this policy covers it in the same way. Twine holds:
- Your rules, your settings, and the decisions you make on overlaps.
- The names of the calendars in each connected account.
- Which copy belongs to which event, so each copy can follow its original, and any overlaps waiting for a decision, with the title of the event involved.
- The activity log: event titles, calendar names, rule names and times. How long it is kept depends on your plan: see How long Twine keeps it.
- The email address of each connected account, the name on it when the provider passes one along, and one credential for it, encrypted with Google Cloud Key Management Service. The phone never holds a calendar token.
- A push token for each phone, if you allow notifications, used to send overlap alerts on Twine Plus and Twine Pro.
- The phone’s time zone, so “mornings” and “weekdays” mean what they mean where you are, the app’s version, and whether the phone is an iPhone or an Android phone.
- When each check ran, what it did in numbers, and any error it hit.
- If you create a Twine account, the sign-in you chose: Apple, Google, or an email address and password, with the email address and the name that sign-in passes along. Passwords are handled by Firebase Authentication and never stored in plain text. Sign in with Apple can hide your address.
- Your plan: Free, Twine Plus or Twine Pro.
Event titles can say sensitive things, such as a medical appointment. Twine handles a title only to apply your rules, write the copies you asked for, and show you the activity log. It does not look for sensitive information, build a profile from it, or use it for anything else.
What Twine writes to your calendars
Copies. Each copy carries a hidden marker, so Twine recognises its own work, keeps the copy in step with the original, and removes it when the original goes or the rule is deleted. The marker holds two ids, one for the original event and one for the rule, and nothing else: no title, no notes, no account name. On Free, copies also carry a visible “Synced by Twine” line.
A copy holds only what its rule allows: the title and time (Title only), an opaque block called “Busy” (Renamed “Busy”), or the title, notes, location and attendees, with attendees written as text in the notes (Full copy). Nobody is invited and no invitation is sent.
When you create a calendar from inside Twine, Twine creates it in the account you choose.
Nothing else is changed. Twine never deletes an event it did not make, and changes one only when you link it. If an identical event already exists on the destination, Twine pauses and asks; choosing to link lets Twine keep that event in step with the original from then on. A linked event is still yours: if the original later goes, or you delete the rule, the linked event stays.
How Twine uses Google user data
When you connect a Google account, Twine asks Google for five permissions and nothing more: to see and edit events on your calendars (calendar.events), to see the list of your calendars (calendar.calendarlist.readonly), to manage calendars Twine creates for you (calendar.app.created), and your account’s email address and Google account id (email and openid).
What Twine does with that access:
- Events: reads them on the calendars your rules use, to decide what to copy, and writes, updates and removes the copies your rules make. Titles and times appear in the app’s preview, activity log and overlaps, for you only.
- The calendar list: shows you the calendars you can pick in a rule, and stores their names.
- Calendars Twine creates: only when you ask for a new calendar from inside the app.
- The email address: labels the account in the app, and lets you ask for deletion by email if the app is gone.
If you sign in to Twine itself with Google, Twine receives your email address and name from that sign-in, and uses them only to identify your Twine account.
Google user data is stored only in Twine’s database and sync service on Google Cloud and Firebase, in the United States. The credential for the account is encrypted, as How Twine protects your data explains. How long each item is kept, and how to delete it, is in How long Twine keeps it and Deletion. Disconnecting a Google account deletes its credential and asks Google to revoke Twine’s access, unless another Twine install still uses that Google account.
Twine does not sell Google user data, and shares it with no one except Google Cloud and Firebase, which run Twine, and where the law requires it. Otherwise it goes elsewhere only when you tell it to: a rule that copies a Google event to a Microsoft or iCloud calendar writes that copy there, and a CSV export of the activity log goes wherever you send it. RevenueCat, Apple and Google billing, and push notifications never receive it: an alert says only that a decision is waiting.
Twine does not use Google user data for advertising, to build a profile of you, to decide creditworthiness, or to develop, improve or train generalized artificial intelligence or machine learning models. Twine uses no AI or machine learning of any kind.
Twine’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
Who runs the infrastructure
The sync runs in the cloud, so the phone never needs to be open. Twine relies on:
- Firebase, for sign-in, the database that holds your rules and history, and push notifications.
- Google Cloud in the us-central1 region, in the United States, for the sync service and for the key management that encrypts calendar credentials.
- RevenueCat, for subscription status. RevenueCat sees a Twine user id and your purchase records, not an email address.
- Apple and Google, for billing, for Sign in with Apple and Google sign-in when you use them, and for delivering push notifications to the phone.
- Formspree, which passes messages from the Support page on to Twine’s mailbox, and keeps a copy for 30 days.
- Google again, which hosts this site and, through Google Workspace, the mailbox that receives support messages.
Google, Microsoft and Apple host the calendars themselves, and Twine reaches them only with the access you granted. Your data is stored and processed in the United States. Where UK or European law asks for a safeguard for that, Twine relies on the standard contractual clauses built into its agreements with Google and RevenueCat.
Twine does not sell personal data, and shares it only with the services on this page, with two exceptions. If the law requires Twine to hand something over, it hands over only what is required. If Twine is ever sold or merged, your data moves to the new owner only under this policy: you are told before it happens, so you can delete your account first, and data from a Google account moves only if you agree.
How Twine protects your data
Twine treats everything it reads from your calendars as sensitive, and protects it like this:
- Encryption in transit: every connection, between the app, the sync service, the database and Google, Microsoft and Apple, uses HTTPS (TLS).
- Encryption at rest: Google Cloud and Firebase encrypt all stored data. On top of that, the credential for each connected account is encrypted separately with Google Cloud Key Management Service, and only the sync service is allowed to use that key.
- Credentials stay on the server: the phone never holds a calendar credential. Short-lived access tokens are kept only in the sync service’s memory, never stored.
- Access control: the database lets each person read only their own data, and no app, not even yours, can read a stored credential. The sync service checks your sign-in on every request, and accepts calendar change notifications only when they carry a random secret known to Twine and the provider.
- Least privilege: Twine asks each provider only for the calendar access it needs, and the sync service runs with only the cloud permissions it needs.
- Logs: the sync service’s logs record counts, times and errors, not event details or credentials.
- People: no person reads your events or activity log except as What Twine reads describes.
No system is perfectly secure. If you find a security problem, write to lee@twine-sync.com.
Analytics and advertising
None. There is no analytics or advertising SDK in the app, no tracking across apps or websites, and no advertising.
This site sets no cookies, runs no analytics, and loads nothing from anyone else: even its typeface is served from the site itself. The host keeps standard request logs. The app carries the same typeface, Archivo, inside it, so it downloads no fonts either.
Twine does no tracking, so a Do Not Track or Global Privacy Control signal has nothing to switch off: everyone is already treated as if it were set.
The sync service writes operational logs, used only to run and fix it, which Google Cloud keeps for 30 days. The Support page sends your message through Formspree to Twine’s mailbox, and the message is used only to answer you.
How long Twine keeps it
- Rules, settings, connected accounts and credentials: until you delete the rule, disconnect the account, or delete your Twine account.
- Links (which copy belongs to which event): until you delete the rule or your Twine account, and no longer than two years after the event starts.
- The activity log: an entry written while you are on Free is kept for 7 days, on Twine Plus for 30 days, and on Twine Pro with no end date. Expired entries are deleted within about a day. If you leave Twine Pro, the entries written on it stay stored, out of view, until you come back to Twine Pro or delete your account.
- Push tokens: until the phone stops accepting them, or you delete your account.
- Operational logs: 30 days.
- Support messages: until the question is settled, and no longer than 12 months after the last reply. Formspree’s copy is deleted after 30 days.
When something is deleted, it leaves Twine’s live database at once. Twine keeps daily backups of that database for 14 days, so it leaves those within 14 days. Google then clears it from its own backup systems within 180 days.
Deletion
Everything below is in the app.
- Delete a rule: its copies are removed, back to two years ago. Originals are untouched.
- Disconnect an account: its rules pause, and its credential, calendar names and pending overlaps are deleted. Twine keeps its links, so the copies can still be removed, or picked up again if you reconnect. For a Google account, Twine also asks Google to revoke its access, unless another Twine install still uses that Google account. Copies already made stay.
- Remove every copy Twine made: one button in Settings deletes Twine’s copies from every destination calendar, back to two years ago.
- Delete account: deletes everything Twine holds for you, including rules, settings, connected accounts and their credentials, links, overlaps, the activity log and push tokens, and then the sign-in. On the way out, Twine stops its change notifications. For each Google account, it also asks Google to revoke its access, unless another Twine install still uses that Google account. Copies stay on your calendars unless you removed them first.
Delete account appears once you have a Twine account. Without one, Twine account in Settings offers Delete everything instead: it deletes the same data for this phone, and there is no sign-in to remove.
Microsoft and Apple give Twine no way to revoke its own access. After you disconnect or delete, remove Twine from the apps in your Microsoft account, and delete its app-specific password in your Apple ID settings. Until you do, the permission still exists on their side, but Twine no longer holds a credential to use it.
Deleting the app does not stop Twine, because the sync runs in the cloud. Delete the account in Settings before you delete the app. You can also revoke Twine’s access in your Google or Microsoft account, or delete its app-specific password in your Apple ID settings; the rules that use that account then pause.
If the app is already gone, that is also the way to stop the sync at once. With a Twine account, install the app again, sign in, and delete the account. Without one, write to lee@twine-sync.com from the address of a calendar account you had connected, and Twine deletes everything it still holds for that address.
Deleting your Twine account does not cancel a subscription: cancel it in the App Store or Google Play. Purchase records stay with Apple or Google, and with RevenueCat under the Twine user id, as billing requires.
Your rights
Most of what Twine holds is visible in the app: your rules, settings, connected accounts and the activity log. Twine Pro can export the log as a CSV file.
Wherever you live, you can ask Twine for a copy of your data, ask for it to be corrected or deleted, or object to how it is used. Write to lee@twine-sync.com. Twine answers within one month and does not charge for it.
Twine does not sell personal data, does not share it for advertising, and does not build a profile of you. It will not treat you any differently for asking about your data. If you live in California or another US state with a privacy law of its own, the request above is how to use the rights that law gives you.
If you live in the UK, the EU or the EEA, data protection law there also lets you ask Twine to restrict how your data is used, or to hand it over in a portable format. It asks Twine to say what it relies on to use your data:
- The contract with you, which is the terms of use: reading your calendars, writing copies, storing your rules, credentials and activity log, and recording your plan. Twine cannot run without these.
- Your permission: push alerts, and the names of the accounts on your phone. Withdraw either in the phone’s settings at any time. Connecting a calendar is your choice too: disconnect it and Twine stops reading it.
- Twine’s legitimate interest in keeping the service working and secure: operational logs, and answering support messages.
Where an event title reveals something sensitive, such as your health, Twine handles it only because you connected that calendar and told Twine to read it, and stops when you disconnect it.
You also have the right to complain to the data protection authority where you live. In the UK that is the Information Commissioner’s Office.
Children
Twine is not made for children. You must be at least 13 to use it, or older where your local law requires, and Twine does not knowingly hold data about anyone younger. If you believe a child has used Twine, write to lee@twine-sync.com and Twine deletes what it holds.
Contact
Questions about this policy go to lee@twine-sync.com, or use the Support page. Twine is made by Lee Bridges, Winston-Salem, NC, USA, who is the data controller for everything on this page.
If this policy changes, the new version is posted here with a new date before it takes effect. If Twine ever wants to use your data in a new way, it asks you in the app first.