Privacy
Effective 8 October 2026.
This page tells you which personal data sofatofu collects, why we collect it, who receives it, how long we keep it, and what you can ask us to do with it.
Who is responsible
Sam Kah Man runs sofatofu and is responsible for your personal data. Send each privacy question or request to [email protected].
A company will take over sofatofu. When it does, we will change this page and tell each member by email.
The data we collect
- Account. Your name, your email address, and, when you sign in with Google or LinkedIn, your profile picture, your account id at that provider, and the tokens that it gives us.
- Sign-in. The email address of each sign-in code that you ask for. For each session: the IP address, the
User-Agent, and the session token. The CLI keeps its copy of the token in the secret store of your operating system. For each CLI sign-in request: the IP address, theUser-Agent, and the city and country that Cloudflare finds from the IP address. - Workspaces. Your role in each workspace and the email addresses that you invite. The other members of a workspace can see your name, your email address, and your role. The people that you invite see your name, or your email address if your account has no name.
- CRM data. The companies, people, deals, and activities that you or your agent put in a workspace, the history of their changes, and the reasons that you give for each change. Refer to CRM data.
- Feedback. The text that you or your agent send with
sofatofu feedback send. - Usage data. Events about setup, commands, and page views. Refer to Usage data.
Why we use it
- We use your account, session, workspace, and CRM data to give you the service that you ask for. Without it, sofatofu cannot work.
- We use the
User-Agentof a session to show you your sessions, so that you can stop a session that you do not know. We use the IP address of a session to limit abuse. We show the place, IP address, and time of a CLI sign-in request on the page that approves it, so that you can tell your own request from someone else’s. - We use feedback and usage data to find where setup fails and to make sofatofu better. This is our legitimate interest. You can object to it, as Turn off usage data tells you.
Usage data
Only the maintainers of sofatofu see usage data. It never appears in the product. We collect these events:
- Setup. The start and the result of
sofatofu init, with the step and the error code when it fails. - Commands. The name of each command that the sofatofu API runs, its result or error code, your user id, and the workspace id. For rejected input, the place of the first wrong value and the rule it breaks, with no list position and no custom field name.
- Environment. With setup and command events: the version of the CLI and of the skill, the operating system, the processor type, the install method, and the name of the agent that runs the CLI.
- Location. The country and the continent that PostHog finds from your IP address during setup. PostHog then discards the IP address. For each website page view, we keep the country that Cloudflare finds from your IP address.
- Sign-up. The time that you create an account, with your user id.
- Downloads. A count of each download of the install scripts and the skill files, with no id.
- Page views. The website page, the page that sent you, and the
utm_*campaign values of the link. PostHog makes a visitor id from your IP address and yourUser-Agentwith a random value that changes each day, so the id links your page views of one day and never of two days. PostHog then discards the IP address and theUser-Agent.
The CLI keeps a random install id in ~/.sofatofu/telemetry-id. When you sign in, we link it to your user id. sofatofu uninstall deletes it.
Usage data never holds:
- CRM data, change reasons, prompts, or credentials.
- The text of an error message.
- A query value of a page address other than
utm_*, or an id from a page address. - Your IP address. PostHog receives it and then discards it.
Turn off usage data
The CLI sends no event when one of these environment variables has a value: DO_NOT_TRACK, SOFATOFU_NO_TELEMETRY, or CI.
export SOFATOFU_NO_TELEMETRY=1Then the CLI also tells the server to send no command event. These variables do not stop page views, download counts, or the sign-up event. A browser that sends DNT: 1 stops page views.
Cookies
The website sets a session cookie when you sign in. It keeps you signed in for about 7 days after you last use sofatofu. When you sign in with Google or LinkedIn, the website also sets a cookie that protects the sign-in for 5 minutes. When you ask for a sign-in code by email, the website sets a cookie that keeps your email address for 10 minutes or until you sign in. The website sets no analytics or advertising cookie and loads no analytics script.
CRM data
A workspace decides which data about other people it keeps in sofatofu, and why. We keep that data only to run the service for the workspace. We never put it in usage data, and we never send it to an AI provider. Your own agent reads it under your agreement with that agent.
If a workspace holds data about you, send your request to that workspace. If you cannot reach it, write to [email protected], and we will help.
Who receives your data
We do not sell personal data. These providers receive it:
| Provider | Purpose | Location |
|---|---|---|
| Railway | Runs the server and the database. | Singapore |
| Cloudflare | Carries the traffic of sofatofu.com and forwards email to [email protected]. | Global network |
| PostHog | Stores usage data. | Frankfurt, Germany |
| Resend | Sends sign-in and invitation emails, with no open or click tracking. | Sends from Tokyo, Japan. Stores in the United States. |
| Google, LinkedIn | Sign you in, only when you choose them. | As their own privacy policies state |
| GitHub | Hosts the CLI files that the install scripts, the CLI updates, and the update check download. | United States |
Your data can leave your country. Each provider above has data protection terms for these transfers. We give data to an authority only when the law tells us to.
How long we keep it
- Account and session data: until we delete your account. A session, an invitation, a sign-in code, and a CLI sign-in request stay in the database after they expire.
- A workspace, with its CRM data, members, invitations, and feedback: until an owner deletes it in the portal. Then we delete it at once.
- A record that a member deletes: 30 days, so that it can be restored. The history of each change: 30 days.
- Usage data: 1 year.
- Email delivery records: as the Resend privacy policy states.
- Request logs of Railway and Cloudflare, which can hold your IP address: as their terms state.
Your rights
You can ask us to show you, correct, delete, or give you a copy of your personal data. You can also ask us to stop or limit a use of it. Write to [email protected]. We answer within 30 days.
To delete your account, write to [email protected]. Within 30 days, we delete your account, the personal data that belongs to it, and the usage data linked to your user id.
You can also complain to a data protection authority, for example the Personal Data Protection Commission in Singapore or the authority of your country.
Changes to this page
When the data that we collect or the providers change, we change this page and its date. When a change affects you, we tell you by email before it starts.
