Privacy Policy
Last updated: [launch date]
Last updated: [launch date]
The short version
Tangent shows your ChatGPT conversations as a map. To do that, your conversations never need to leave your browser, so they don't. We don't store your chats, we can't read your chats, and there is no analytics or tracking in the extension.
What we actually store
Three small lists of bookmarks: technical IDs marking which branches you created, archived, or merged. They contain no text from your conversations, just reference codes. If you're signed in, these sync to our server (so your map looks the same on your laptop and your desktop). That's it. That's the whole database.
See for yourself
Words are cheap, so here is the actual thing. This is everything Tangent stores about one of your conversations, in full:
{
"conversation": "68a1f3c2-4b7d-8e19-a2c5-90d4e7f1b833",
"branchesYouMade": ["c7f2a94e-…", "b03e5d71-…"],
"branchesYouArchived": ["a41cf09d-…"],
"branchesYouMerged": [
{ "branch": "c7f2a94e-…", "mergedInto": "d9a102bb-…" }
]
}
Do you see it? Look closely. There is not one word from a conversation in there. No question you asked, no answer you got, no title, not even your name.
So what are those long codes? They are name tags. ChatGPT sticks a random
name tag on every prompt and every response it handles (that is how ChatGPT
itself keeps track of which answer belongs to which question). When you branch
a conversation in Tangent, we simply write down the name tag of the message
where the branch happened. "A branch starts at c7f2a94e." That is the entire
secret.
And here is the part that should let you sleep well: a name tag only means something inside your ChatGPT account. When you open your conversation, your browser asks ChatGPT for the messages, and Tangent matches the name tags to draw your map, live, on your screen. If someone stole our whole database tomorrow, they would have a pile of name tags for conversations they cannot see. We could not turn these codes back into your words even if we wanted to. We never had your words.
One more thing crosses the wire: to draw the map, the extension sends the shape of your conversation tree to our server, which computes the drawing positions and sends them straight back. The shape looks like this:
{ "nodes": [
{ "id": 0, "parent": null },
{ "id": 1, "parent": 0, "type": "main" },
{ "id": 2, "parent": 0, "type": "tangent" }
] }
That reads as: "dot 1 follows dot 0, and dot 2 branches off dot 0." That is all it says. Not even the name tags are in it; the dots are renumbered 0, 1, 2 fresh every time. Nothing about it is stored.
(The field names above are lightly renamed for readability; the technical version of this policy shows the exact shapes, and every claim in both documents can be checked against the extension's source code.)
What our partners store
We deliberately don't run our own user database. Instead:
- Clerk (our sign-in provider) holds your account: your email address and, if you sign in with Google, your name and profile picture.
- Creem (our merchant of record) handles payment. Your card number goes to them, never to us. We couldn't see it if we wanted to.
What we never do
- We never store, read, or transmit the text of your conversations.
- We never sell or share data with anyone beyond the two partners above.
- There is no tracking, no analytics, no telemetry in the extension.
Your rights (GDPR)
- Delete: delete your account and every trace of your data follows automatically. Your sync data is wiped the moment your account is deleted.
- Access/export: write us and we'll send you everything we hold (it's those three lists, so it will be a short email).
- Contact: support@addtangent.com
Who is responsible
The data controller is Ozan Demirezen (Denmark), reachable at support@addtangent.com.