Privacy Policy
Updated on 12 November 2026
In short
- You can use Charcal without an account. In that case your tasks stay on your device and we receive nothing.
- If you create an account, our server keeps a copy of your tasks so you can find them on iPhone, iPad and Mac.
- No ads, no analytics, no tracking. We do not sell or share your data.
- You can delete your account from the app at any time. Your data is deleted from the server right away; only short-lived technical logs and backups remain until they expire, within a week (see below).
Who is responsible
The data controller is Tommaso Gasparoli, Char Studio, Via Ceresio 41, 6963 Pregassona, Switzerland. For any question about your data, write to privacy@charstudio.app.
The Swiss Federal Act on Data Protection (FADP) applies and, for people in the European Union, the General Data Protection Regulation (GDPR).
If you use Charcal without an account
Everything stays on the device. Tasks, labels, Sparks, missions, the activity log and your settings live in the app's files. Widgets and the Share extension read a copy of them from a shared space on the same device. The app does not contact our server.
Some features, if you use them, connect to Apple or to another service straight from your device, without going through us:
- Dictation. Speech recognition runs on the device. The audio is not saved and does not leave the device. On first use the system downloads the language model from Apple.
- Calendar. Charcal reads the events in your device's calendars to show them next to your tasks. It changes them only when you do: if you move or rename an event, or check one off with the option that removes it from the calendar.
- Charcal calendar. This is optional. If you turn it on, your tasks (title, notes, times) are written to a calendar in your own account, for example iCloud, and from there they follow that service's rules.
- Reminders. Charcal reads Apple Reminders only when you choose to import them. Nothing changes in Reminders.
- Places. For a reminder tied to a place, you search for it with Apple Maps, so the search goes to Apple. Charcal does not read your location: the system alerts you when you arrive or leave.
- Todoist. This is optional. If you connect it, your Todoist token stays in the device Keychain and the app talks to Todoist directly to import tasks and mark them as done.
- Notifications. They are scheduled on the device. We do not use notifications sent from a server.
If you create an account
The account is optional and is there to sync the same data across devices. The server runs on Cloudflare Workers with a Cloudflare D1 database, and stores the following:
- Account. Email, name, time zone, email language and email reminder preferences. We do not store your password: we keep only its hash (PBKDF2-SHA256 with a salt). If you sign in with Apple or Google, we store the identifier that service gives us, along with the email and name it passes on. For Sign in with Apple we also keep, encrypted, the token needed to revoke access when you delete your account.
- Tasks and labels. Title, notes, day, time, duration, deadline, repeat rule, priority, subtasks, label, and the dates they were created, changed and completed. If you set a reminder tied to a place: the place name, coordinates and radius. If the task comes from Todoist: its Todoist identifier. For labels: name, color and order.
- Deleted tasks and labels. To keep your devices in step, what you delete stays on the server marked as deleted, with its content, until you delete your account.
- Progress. The missions you were given and the history of the recurring tasks you completed, including their titles. Sparks are not stored: they are recalculated from what you have done.
- Checked-off events. When you check off a Calendar event we store the event's identifier, the day and the time you checked it. We do not store the title or anything else about the event.
- Profile photo. Optional: one image, up to 200 kB.
- Sessions. For each connected device: its type (iPhone, iPad or Mac), when you signed in and when it was last used. A session expires after 90 days without use.
- Calendar address. Every account has a secret address that a calendar app can use to read your open tasks that have a date: title, notes, label and times. Anyone who knows that address can read them, so treat it like a password.
- Personal token. It exists only if you create it in Settings, Account. It is used by the command line tool, by integrations and by the AI assistants you connect through MCP, and we store it encrypted. Anyone with the token, or with the MCP address that contains it, can read and change your tasks: treat it like a password. If you regenerate it, the old one stops working right away.
- Codes. Codes for a forgotten password and for verifying your email are valid for 15 minutes and are stored only as a hash.
- Email reminders. If you turn them on, we keep a note of which reminder has been sent for two days, so it does not arrive twice.
If you write to us
- Emails. When you write to support@charstudio.app, privacy@charstudio.app or any other address at charstudio.app, we receive your address, your name if your email shows it, and what you write. We use them only to answer you and to follow up on your request. The emails are stored in our mailbox at iCloud Mail (Apple). We keep a conversation for as long as it helps us answer you and handle what follows from it, then delete it.
- Launch notice. If you write to us to be told when Charcal is out, we use your address only for that one email, then delete it. If you change your mind before then, tell us and we delete it right away.
Security and abuse
- The connection to the server is encrypted (HTTPS).
- To stop people from trying many passwords, the server keeps counters tied to the hash (SHA-256) of the email and to the network address the request comes from. For an IPv6 address we keep only the first half. The counters delete themselves within a day.
- Cloudflare, which hosts the service, processes IP addresses and technical request data to run and protect it. Its technical logs are kept for up to 3 days. They record the address of each request, so your calendar address, and the MCP address if you use the one with the token in it, can appear there too.
- The server does not use cookies. The one exception is a technical cookie that lasts ten minutes, only while signing in with Google on the web.
Who else processes data
- Cloudflare: hosts the server, the database and this website.
- Apple: Sign in with Apple, Maps for place search, the dictation model, and iCloud if you use the Charcal calendar. Apple also hosts our mailbox, iCloud Mail, which receives the emails you send us.
- Google: only if you choose to sign in with Google, or if you add the calendar address to Google Calendar.
- Resend: sends service emails, meaning codes and email reminders. A reminder contains the task's title, day, time, notes and place name.
- Todoist: only if you connect it yourself.
- The AI assistant you connect, for example Claude, ChatGPT or Cursor: only if you connect it yourself with your token. It receives the tasks it reads or writes for you, and handles them under its provider's rules.
These providers may process data outside Switzerland and the European Union, in particular in the United States. For the providers that work for us, the transfer is protected as follows:
- Cloudflare and Google are certified under the EU-U.S. Data Privacy Framework and the Swiss-U.S. Data Privacy Framework.
- Resend is certified under the EU-U.S. Data Privacy Framework. For data from Switzerland it uses the European Commission's standard contractual clauses, adapted to Swiss law.
- Apple transfers data from Switzerland and the European Union under the European Commission's standard contractual clauses.
Todoist and the AI assistant you connect receive your data because you choose to send it to them, and they handle it under their own terms.
There are no ads, analytics tools or tracking code, in the app or on this website.
Why we process this data
For people in the European Union, these are the legal bases under the GDPR:
- Account, sync, codes and the reminder emails you turn on: to provide the service you asked for (performance of a contract, Article 6(1)(b)).
- Abuse counters, Cloudflare's technical logs and serving this website: our legitimate interest in keeping accounts and the service secure and working (Article 6(1)(f)).
- Emails you send us: our legitimate interest in answering you, or the contract when you write about your account (Article 6(1)(f) or (b)).
- Launch notice: your request, which you can withdraw at any time (consent, Article 6(1)(a)).
We do not use your data for advertising, profiling or automated decisions.
How long we keep it
- Account data stays for as long as the account exists.
- Sessions expire after 90 days without use.
- Abuse counters delete themselves within a day.
- Codes are valid for 15 minutes.
- Cloudflare's technical logs are kept for up to 3 days, and database recovery copies for up to 7 days.
- Emails you send us stay as long as they help us answer you and handle what follows; a launch notice address until that one email is sent.
Your rights
- Delete everything. In Settings, Account, Delete account, type "delete" to confirm. The server deletes the account, tasks, labels, progress, photo and sessions right away. What remains until it expires: abuse counters tied only to the network, and Cloudflare's technical logs and recovery copies. We cannot delete what has already left: emails already sent, and copies a calendar app made by reading your address. Your tasks stay on your device until you remove them or uninstall the app.
- Know, correct, take away. You can ask what data we hold, have it corrected, or receive a copy in a common format: write to privacy@charstudio.app and we will reply within 30 days.
- Object or restrict. You can object to processing based on our legitimate interest, and ask us to limit the use of your data while a request of yours is being checked. Write to privacy@charstudio.app.
- Withdraw a permission. Calendar, Reminders, microphone, location and notifications can be turned off at any time in your device's Settings.
- Complain. In Switzerland you can contact the Federal Data Protection and Information Commissioner (FDPIC). In the European Union, the authority of your country.
Children
Charcal is not intended for anyone under 16.
This website
This website uses no cookies and has no analytics. The only thing it keeps, in your own browser, is whether you chose the light or the dark theme. Cloudflare, which hosts it, processes your IP address to serve the pages.
If this policy changes
If something important changes, we will write it on this page and update the date at the top.