Skip to content

Privacy

You are being asked to paste a conversation with a client into a website. This page is the long version of why that is safe, written from what the code actually does.

Last updated 27 October 2026.

Who is responsible for your data

Codama Advanced Engineering Inc. is the data controller for everything described here, registered in Delaware, United States. Reach us at info@codama.dev.

What we collect

Your account. Email address, and a name if you give one. Sign-in is handled by Supabase; we never store your password ourselves.

Where you came from, if you sign up: the site that sent you here (its name only, such as google.com, and never the page or what you searched for), the first page you read on this website, which of its buttons brought you to the app, and a campaign's tags if the link you followed had them. It is kept with your account so we can tell which pages bring people who stay. It is never shared, and it goes when your account does.

What you tell us about your work. Role, seniority, industry, first language, and what you want to sound like. All of it is optional and all of it is editable. It exists so the analysis knows whether a 60% talk share was the point of the meeting or the problem with it.

Transcripts you upload, and what we derive from them: the findings, the quoted sentences they rest on, the counted metrics, the words worth practising that we find in your own sentences, and your answers in Practice.

Answers you say aloud. In vocabulary practice you can answer by speaking. The recording goes to OpenAI to be written down and is then dropped: we keep the text of your answer, as we would a typed one, and never the recording.

Billing state, if you pay: which plan, whether it is active, and the identifiers Stripe uses. Card details go to Stripe and never reach us.

If you connect Fathom, the sign-in token Fathom gives us (or the API key, on a connection made with one), stored encrypted and used only to fetch your meetings and to set up, and later remove, the notification that sends us new ones; and the meetings Fathom sends: each transcript, its title and date, the name and email of whoever recorded it, and the link to the recording in your Fathom account, so a finding can open it at the moment it quotes. The recording itself stays in Fathom and never reaches us. Only recordings you made, and only meetings in English.

If you connect Microsoft Teams, a sign-in token from Microsoft, stored encrypted and used only to read, every fifteen minutes, your calendar for the last three days and the transcripts of the Teams meetings on it that you organised or were invited to; your Microsoft name and email, so we know which lines of a transcript are yours; and those transcripts, each with its meeting’s title and date. Only meetings in English.

If you connect Zoom, the sign-in tokens Zoom gives us, stored encrypted and used only to look, every fifteen minutes, at your cloud recordings of the last few days and download the transcripts of the ones that have one; your Zoom user ID, name and email, so we know which lines of a transcript are yours and can act if you remove betterput in Zoom; and those transcripts, each with its meeting’s title, date and the link to the recording in your Zoom account. The access is read-only, the recording itself stays in Zoom, and only meetings in English are kept. How to connect and remove it: betterput for Zoom.

If you connect Google Meet, the sign-in tokens Google gives us, stored encrypted and used only to read, every fifteen minutes, the Meet meetings of the last few days that you organised, their transcripts and the names of the people who spoke; your Google name and email, so we know which lines of a transcript are yours; and those transcripts, each with its meeting’s date. The access we ask Google for is read-only (meetings.space.readonly). Only meetings in English are kept.

If you connect Webex, the sign-in tokens Webex gives us, stored encrypted and used only to read, every fifteen minutes, the transcripts of recent Webex meetings you hosted, with the names of the people who spoke; your Webex name and email; and those transcripts, each with its meeting’s title and date. Only meetings in English.

If you connect Fireflies, tl;dv or Grain, the API key you paste, stored encrypted and used only to read your recent meetings and their transcripts (Fireflies once an hour, the others every fifteen minutes); the account’s name and email, where the service tells us; and those transcripts, each with its meeting’s title, date and the link to the meeting in your account there. Only meetings in English.

Data from Google

betterput’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.

In practice: transcripts from Google Meet are used only to build your own reports and your own mistake profile, which you asked for by connecting. They are not used to train any model, ours or anyone else’s; not sold; not used for advertising; and not shared with anyone except the processors listed below, for the purpose listed beside each. Nobody at betterput reads them unless you ask us to, for security, or because the law requires it.

What happens to a transcript

When you upload a file, your browser reads it and sends the text. The file itself is never written to a server.

Before anything is sent to a model, every speaker is replaced by a pseudonym: you are “You”, and everyone else becomes Speaker B, Speaker C and so on. Other participants’ words go with yours as context, because nobody can judge whether you answered a question without seeing the question, but they are never analysed or graded. Only your own turns are.

One exception, and only if you ask for it: when you start a report you can mark one participant as a native English speaker you know. Their lines in that meeting are then read for one thing, to show how they phrased the same things you did beside your own wording, with counts of filler words and hedges for both of you. They are still a pseudonym to the model. Nothing about them is scored or kept beyond that report, and deleting the report deletes it.

What gets replaced is the name at the start of each turn. A name somebody says out loud (“I’ll check with Sarah”) is part of what was said, and it is sent as it was said. We leave those in on purpose: every finding quotes your own words exactly, and a report that quoted “I’ll check with Speaker B” back to you would be quoting something you never said.

The raw text is then deleted on the schedule you choose in Settings: immediately after the report is built, after 30 days, or kept until you delete it. The default is 30 days. Your findings, quoted sentences, practice words and metrics survive that deletion (otherwise the profile of what you keep getting wrong would reset every month), and so do the names the transcript gave its speakers, with how much each one said. Nothing else anyone said is kept.

A meeting that arrives from a tool you connected is stored the same way, and nothing is analysed until you choose to make a report of it (or, if you are on Pro and switched it on, as soon as it arrives). One you never make a report of is deleted from our systems after 14 days; once you do, the schedule above applies. While your plan’s reports for the month are used up, new meetings are not stored at all. Disconnecting deletes the key or sign-in and every meeting not yet made into a report. The original stays with the tool it came from, under its terms.

Removing betterput at the tool itself works too, where the tool tells us about it. When you remove betterput from your Zoom account, we delete the connection and everything that came from Zoom: every meeting, and every report made from one. To keep your reports, disconnect in betterput instead.

Nothing here trains a model

Your transcripts are not used to train models, ours or anyone else’s. They are sent to OpenAI to produce your report, under API terms that exclude the data from training, and for no other purpose.

Who else processes it

These are everyone outside this company who touches your data, and what for.

  • OpenAI: Runs the analysis, reads a corrected sentence aloud when you ask, writes down an answer you say aloud in practice, and checks your practice answers. Receives the transcript with every speaker already replaced by a pseudonym, what you told us about your work and the meeting, and in practice the sentence, your answer, and the recording of a spoken answer. Nothing is kept on its side for its own use.
  • Supabase: Sign-in, and the Postgres database holding your account, findings and metrics. Hosted in the EU (Frankfurt).
  • Railway: Runs the API and the analysis worker, in the United States (Virginia). Your data passes through it, encrypted, on its way to and from the database.
  • Cloudflare: Serves this website and the app.
  • Google Fonts: Serves the app's typefaces, so your browser fetches them from Google, which sees your IP address.
  • Stripe: Takes payment. We never see or store your card details.
  • Infobip: Sends our email: account email such as password resets; the note that a report is ready, with the meeting's title and some of its findings and quoted sentences; the weekly digest if your plan includes it; and, to us only, a note of each new account and payment with what the account holds about you. Its EU service.

Cookies and tracking

This website sets no cookies and runs no analytics. There is nothing to consent to, which is why you were not asked.

It does note, in your own browser and only until you close the tab, the site you arrived from and the first page you read, so that the sign-up button can pass them to the app. Unless you sign up, that never reaches us.

The app stores your sign-in token and your light/dark preference in your own browser, and one cookie remembering whether the sidebar is open; and, until you sign up or close the tab, where you came from. None of it is used to follow you around the web.

Your rights

You can see, change or delete your data from inside the app. Settings has a delete everything button that removes every transcript, report and finding, your mistake profile, your practice words and answers, and what you told us about your work from our systems immediately. It is not a request queue. It also disconnects every tool you connected, so nothing new arrives afterwards.

It leaves an empty account behind, so that you can still sign in: your email address, your name, two settings (the language your reports are written in, and how long a transcript is kept), your plan if you pay, and a count of the reports you have run in the last thirty days (only the dates, nothing from the reports), so that deleting a report does not hand back the allowance it used. Deleting your data does not cancel a subscription; do that from Settings.

To close the account itself, Settings also has close your account. It deletes your sign-in, your email address and everything else listed on this page, and it cannot be undone. If you pay, cancel the plan first: it runs to the end of the period you have paid for and never charges again.

If you are in the EEA or the UK you also have the usual rights of access, correction, erasure, restriction, portability and objection, and the right to complain to your supervisory authority. Email info@codama.dev and we will handle it within a month.

One honest limit: deletion removes your data from our systems. It cannot reach back into the processing logs of a model provider for calls already made, which are governed by their own retention terms.

Changes

If this changes in a way that affects what happens to your data, we will say so by email rather than by quietly editing this page. See also the terms, which cover the recording-consent question.

Questions about any of this, or a request about your own data: info@codama.dev.

See also Privacy and Terms.