This page describes what the site actually does. Everything on it except the section about email is something you can check yourself in your browser's developer tools, and the paragraphs below say where to look.

Your recording

A recording made here comes from your own microphone, through your own browser, and goes no further. A file you load is read where it already is. Either way it is decoded and resampled to the 16 kHz the speech model expects, then handed to a Web Worker running on this same device. No request carrying any part of your audio is made, and there is no backend here that one could be made to. Open the network panel before you press the button and watch: the recording does not appear there, at any size, at any point.

The microphone

The page asks your browser for the microphone at the moment you press Record, and at no other moment. Nothing here reads the list of your input devices when the page loads, nothing opens a stream to check that one exists, and nothing warms anything up in advance — until that press there is nothing for the browser to grant. Pressing Stop, or Discard, releases it again.

While a recording is running the page says so four ways at once: the word REC, a lit lamp, a counter, and a level bar that moves with what the microphone is hearing. A tool that can listen should never be ambiguous about whether it is listening.

What is written to this device, and what is not

Nothing is kept automatically. Not the audio, not the transcript, not your corrections, not the speaker labels, not a setting, not a draft. There is no autosave to switch off, because there is no autosave. Reload the page and the transcript and every edit are gone; download the transcript before you close the tab, because we cannot recover it — we never had it.

One thing can be kept, and only by asking for it. Pressing Keep on this device writes that recording — the audio, its name, its date and its length — into this browser's own storage on this computer, in an IndexedDB database belonging to this site. You press it once for each recording you want to keep. There is no default, no setting and no checkbox that changes that. A file you loaded from your own disk is never offered for keeping at all, because you already have it and a second copy on a shared machine would only be a second thing to lose.

What you keep survives closing the tab. It survives shutting the computer down and starting it again. It is still there tomorrow. It is never sent anywhere — keeping writes it into your own browser, and there is no step after that, which you can confirm in the network panel the same way as everything else on this page.

And the part that matters most: anything you keep can be played by anyone who can use this computer. It is not encrypted, it is not behind a password, and this tool has no account to lock it to. Whoever borrows the machine, repairs it, inherits it or takes it can open this page and press play. If the person on the tape trusted you with something, that is the fact to weigh before you press keep.

How to delete it

The front page carries a shelf headed Tapes kept on this device. It lists everything that is kept — name, date, length and size — and how much space they take together. Each row has a Delete button that removes that one recording, and the card has a Delete everything button that removes all of them. Both ask for a second press before they act, so a mis-tap cannot destroy an interview, and neither can be undone: when the list is empty it is gone.

You can also do it from outside the page. Clearing this site's data in your browser removes everything it has kept, including the speech model described below. If the shelf says nothing is kept on this device, nothing is.

Playing it back

Playback issues no request, and it is worth saying exactly how. There is no media player on this page and no address for your audio — not a URL, not a blob: handle, not a temporary link. The decoded sound is played straight out of the page's own memory through your browser's audio engine. Nothing is fetched because there is nothing to fetch, so the network panel is as empty while you listen as it is while the model runs.

There is one exception, and it is one you ask for. Pressing a download button — a transcript, or Save the recording to a file — makes a temporary handle inside your own browser so it can hand the file to wherever your downloads go. It is created on your machine, it is readable only by this page, and it does not outlive the tab. From the moment the file lands, that copy is yours to look after, and we still do not have one.

What we keep on your device

One thing is, and it is ours rather than yours: the speech model. Transcribing needs about 71 MB of runtime and model weights, served from this site, and your browser keeps them after the first run so a second recording does not download them again.

There is a larger, more accurate model beside it on the tool page, and choosing it writes a further 80 MB into the same cache. Nothing fetches it unless you pick it, the cost is printed on the control that picks it, and it is deleted by the same act that deletes the first one. Which language you choose, or the tool works out, is not recorded anywhere: it is a setting in the page for as long as the page is open and it is gone when you reload.

You can see exactly this in developer tools. Under Application → Cache Storage there is an entry named transformers-cache holding the model files; the WebAssembly runtime beside it sits in the ordinary HTTP cache. Neither contains anything of yours — they are the same files every visitor receives. Clearing this site's data removes them, and the tool then downloads them again the next time you use it. Any recording you chose to keep sits in the same panel, under IndexedDB, and clearing that data removes it too.

Cookies

We set none. There is no account here, no session and nothing this site wants to remember about you between visits, so it writes no cookie of its own.

Google's advertising code, described below, can set and read cookies and similar identifiers in your browser — __gads and __gpi are the ones AdSense commonly writes. They are Google's rather than ours: we cannot read them and we are not told what is in them. Cookies says what they do, what the consent choice decides, and how to refuse or delete them.

Analytics

This site counts page views with a self-hosted Umami collector at analytics.pagefabrica.com. It sets no cookie, stores no identifier for you and cannot follow you to another site. It honours Do Not Track: with that setting on, the collector is never contacted.

What it records is a page address, a referrer, a screen size and a country — the shape of traffic, not a person. It never receives your recording, its file name, its length, or any part of a transcript. Those never leave the tab, so there is nothing for the collector to be told. Beyond page views the site sends only three named events, and they carry no value: work_started, work_completed and page_error.

Advertising

Your recording, your transcript and your corrections are not part of this, and nothing in this section changes anything above it. They are still made and read on your own device, they are still never uploaded, and there is still no server here that could receive them. That is the promise this site exists for and it is untouched.

What has changed is that your visit is now seen by Google. This site carries advertising from Google AdSense, under the publisher account pub-3015567014793107, in one box at the foot of the tool page. When that box is filled, your browser asks Google's servers for an advertisement, and — as with any request a browser makes to anyone — that request carries your IP address, your user agent and the address of the page you are on. Google may set or read advertising cookies and similar identifiers in your browser. For everything it receives that way, Google is its own controller, not something we operate on your behalf.

The rules this site sends your browser had to widen to allow it, and it is worth saying exactly how. Until this release the browser was told it could talk to this site and to the analytics collector and to nothing else. It is now additionally allowed to run Google's advertising and consent code, named host by host, and to load images and open connections to any HTTPS address — because an advertisement's pictures and measurement requests come from a changing set of advertiser domains that no fixed list can track. That is a real loosening. It is stated here rather than left in a response header nobody reads.

Nothing about a recording can travel with any of it. Not a word of a transcript, not a file name, not a duration, not the language it turned out to be in, not whether you recorded it here or loaded it. That is not a promise about our intentions, it is the same architecture as everything else on this page: the audio and the transcript exist only as values inside this page's memory, the advertising runs from a separate file that is never given them, and there is no code on this site that passes anything from one to the other. The check is the one it has always been — open the network panel, record something, transcribe it, and watch. The only requests leaving are this site's own files, the page-view ping, and, if you scroll to the bottom, the advertisement.

None of it happens unless you scroll to it. Google's library is not loaded when the page loads: it is fetched only as that box comes near your screen, at the very bottom, after the machine, the result, the shelf and every paragraph. A visit that never reaches the bottom makes no request to Google at all. And nothing here waits on it: block advertising entirely, or refuse third-party scripts, and the tool records, transcribes, plays back, corrects and exports exactly as it does otherwise, because the whole engine is already on your machine.

As this build stands the box carries no ad unit, so nothing on this page fetches Google's advertising code and no request reaches Google. Advertising is approved and switched on separately from this release, and this paragraph goes when it is.

The consent choice, and how to change it

If you are in the European Economic Area, the United Kingdom or Switzerland, Google shows you a consent message before it personalises advertising. It is Google's own message, from a Google-certified consent platform, delivered through the AdSense code on this page. We do not run a consent banner of our own: a home-made one would not be certified, Google would not act on the answer, and you would have been shown the appearance of a choice.

What that choice controls is whether Google may use cookies and identifiers in your browser to personalise and measure advertising. It does not decide whether an advertisement appears at all: refusing personalisation still shows one, chosen from the page rather than from anything about you. Your answer is stored by Google, not by us, so we cannot show it back to you here or change it on your behalf. To change it, use the privacy or consent control Google places on its own message, or clear this site's cookies and answer again the next time it appears. Cookies sets all of this out in full.

What our server can see

Asking for a page, and downloading the model, are ordinary web requests. Like any web server, ours can see that a request arrived, from which network address, and for which file — that is how the web works and no site can avoid it. None of those requests contains your recording, your transcript or anything derived from either.

Email

If you write to support@quiettranscript.com we keep your message so we can answer it. Nothing else about you is stored. Ask at the same address and we will delete the correspondence.