Privacy Policy
IntelliScribe AI · last updated September 17, 2026
IntelliScribe AI is a Chrome extension that turns speech into text and checks spelling and grammar as you type, with a companion web app at intelliscribe-app.netlify.app. This policy covers both. It explains what data they handle, where it goes, and how you can delete it.
Summary
- By default your audio and your text are processed entirely on your device. Nothing is uploaded.
- Cloud features are opt-in and use your own API key for the provider you choose — or, for a student who joins a class, their teacher's key, in which case the teacher can see those AI requests (see Classes).
- Each dictation's recording is kept on your device for 2 days by default, so you can play it back or turn it into text again. You can turn this off, choose 1–7 days, or (signed in) keep recordings in your own account. See Kept recordings.
- History is synced to an account only if you sign in. In the extension, signing in also syncs the API keys you entered there, so you need not paste them twice; keys saved on the website under Settings → AI stay in that browser. (A teacher's class keys, under Settings → School, are different: they are kept with the teacher's account, see the classes section.)
- We do not collect analytics, do not track browsing, and do not sell or share data.
What the extension processes
Microphone audio
When you start dictation or a recording in the extension, or press Dictate in the web app's Write tab, IntelliScribe uses your microphone while it records. Audio is converted to text by a Whisper speech-recognition model that runs in your browser on your computer (WebGPU/WebAssembly). Audio is not transmitted unless it goes to the cloud through your own API key (below) or, for a student, through their teacher's key (see Classes), or you choose to keep recordings in your account (see Kept recordings). Unless you turn it off, a compressed copy of each recording is kept for a short time, as described under Kept recordings.
On the website, a recording of up to 60 seconds is turned into text on your device. A longer recording, or one your device cannot do (the speech model failed to load, is still downloading after 45 seconds, or ran and failed — in which case IntelliScribe tells you and you choose "Use the cloud model instead"), goes to the cloud only if there is a cloud route: an API key you saved on the website, in which case the audio goes from your browser straight to that provider; or, for a signed-in student whose teacher allows cloud dictation and who has pressed OK on the notice about it, the teacher's key, in which case the audio goes through our server to the teacher's provider and the request is logged for the teacher (see Classes). With no cloud route, or while you are offline, your device turns the whole recording into text, however long it is. Website dictations are not saved to History; the text goes into your draft, which is kept in your browser's local storage on that device.
Kept recordings
So that nothing you say is lost if turning it into text fails or IntelliScribe closes, each dictation's recording is saved before it is turned into text, and kept for a short time so you can play it back or turn it into text again (Re-transcribe): from History in the extension, or from Recent dictations under the editor in the web app's Write tab. Recordings are compressed where the browser supports it (about 0.2 MB per minute of speech; otherwise about 2 MB). On the website, the Recent dictations list (the time, the text and where its recording is) is kept in your browser's local storage on that computer, like your draft.
- Where. You choose in the extension's Settings → Transcription → Kept recordings, or in the web app under the Write editor (Change): Off (nothing is kept), On this device (the default: the browser's own storage on that computer, never uploaded) or In my account (offered only when you are signed in: uploaded to our database's file storage on Convex, linked to your account, so you can also play it on another computer where you sign in; a copy stays on the computer you recorded on until it is deleted). "In my account" belongs to the account that chose it: while you are signed out, or if someone else signs in on that browser, new recordings stay on the device. The setting is for that computer only. If an upload can't finish (you are offline, or it takes longer than 30 seconds), the recording stays on the device and IntelliScribe tries the upload again (up to five times, while the recording is kept) when that account next opens History in the extension or the Write tab on the website on that computer, and only for the account that chose "In my account". If IntelliScribe's storage space for recordings in accounts is full, the recording stays on the device only, and the list of recordings says so.
- How long. 1 to 7 days (2 by default), fixed when the recording is saved. After that the recording is deleted: on the computer the next time IntelliScribe runs there (opening the side panel, History or the Write tab, or dictating), and in the account within about an hour. Choosing fewer days, Off or On this device deletes the recordings on that computer that no longer fit, and, when you make the change while signed in on a computer that was keeping them in your account, the ones in your account too (choosing Off or On this device there deletes every recording in your account). At most 200 MB is kept on a computer and 100 MB in an account; past that the oldest are deleted first. If a computer runs out of space to download the speech model, the oldest recordings kept on it whose dictation has already been turned into text are deleted to make room, because the model is what makes dictation work, and IntelliScribe says how many it deleted. A recording whose dictation has no text (for example, turning it into text failed), one still waiting to be uploaded to your account, and one made in the last 15 minutes are never deleted for this; if deleting the others would not free enough space, none is deleted and the download stops with a message saying there is not enough space.
- Who can reach them. Only you. Recordings in your account are returned only to you, when you are signed in; no other user and no teacher can list or play them. Anyone who uses the same browser profile on that computer could play the recordings kept there. Re-transcribing follows the same rules as a new dictation, so it may go to the cloud with your key or, for a student, the teacher's key (see Classes). One exception, and only when you press it: if turning a recording into text fails, IntelliScribe offers "Use the cloud model instead", which sends that one recording to the cloud even when it is short enough that a new dictation would have stayed on your device. The button names where it goes before you press it.
- Students in a class. The teacher chooses Off, On the student's device or In the student's account, and for how many days; the student sees this as "Set by your teacher". When the teacher chooses fewer days or moves away from the student's account, copies in the account that no longer fit are deleted straight away. While a student is in a class, the class's setting applies to all of their kept recordings, including any they kept in their own account before joining. The teacher cannot listen to or see the recordings. Recordings go to the student's account only after the student has pressed OK on a notice about it on that device (and again if the teacher raises the number of days); until then, and while "Turn my speech into text only on this device" is on, they stay on the device. Recordings kept on a computer while a class's setting was in force stay there until the time that setting gave them (at most 7 days) even after the student signs out or leaves the class, so that signing out doesn't delete them; Delete all recordings removes them at once.
- Deleting. Deleting a dictation from the extension's History or the web app's Recent dictations deletes its recording on that device and, when you are signed in, in your account. Delete all recordings (next to the setting) deletes every recording on that computer and, when you are signed in, in your account. Clear local data also deletes the recordings on that computer.
Speech model download
The first time you use local transcription, the model files (neural-network weights) are downloaded from huggingface.co and cached in your browser's storage. This request contains no personal data. You can delete the cache from Settings → Transcription → Model & speed.
The website does the same the first time you press Dictate: it downloads the Whisper Tiny model (about 100 to 120 MB, depending on the device) from huggingface.co, and the speech runtime files from our own site, and your browser caches them so later dictations need no download. To remove them, clear this site's data in your browser's settings.
Writing checks
When writing checks are on for a page, the extension reads the text of the field you are typing in — and only that field — to underline spelling and grammar mistakes and offer fixes. The dictionaries, word lists and rules ship inside the extension and run on your device. Nothing from the field is transmitted or stored, apart from the words you deliberately add to "Your words" (kept in your settings and, when you sign in to the extension, in your account; see Optional account and sync). Writing checks never run on password or payment fields, and banking sites and school portals are excluded even if you allow checks on all sites.
The same applies to the full-page Writing Pad in the extension and to the Write tab of the web app: the checker runs in your browser (the web app fetches its word lists from our own site once), and what you write is not sent anywhere and not saved by us — except text you choose to send to an AI feature, and dictated text that is fixed automatically (see Optional cloud providers and Classes).
Dictation history
Text you dictate is saved on your device (chrome.storage) together with the title and address of the page you dictated on, so you can find it again in the History tab. This stays on your device unless you sign in (below). The History entries for dictations made in the side panel's Record tab or the Writing Pad, and for recordings recovered after IntelliScribe closed, stay on your device and are never synced. (Signed in, a Record-tab transcript is still saved to your account as a saved transcript, as described below.) You can delete entries individually or clear everything in Settings → General → Data & privacy.
On a browser that more than one person signs in to, each dictation is synced only to the account that was signed in when it was made. A dictation made while nobody was signed in is synced only to the account that was signed in most recently before it, and only when that account signs in again; if nobody had signed in on that browser, it is never synced. Dictations from before version 5.0 that had not reached an account yet stay on the device. These rules, and the same rules for "Your words" below, apply from version 5.0 of the extension. Chrome updates extensions on its own, but until a computer has updated, an older version there (4.7 or earlier) still syncs every unsynced dictation and word on that browser into whichever account signs in, and removing a word there does not remove it from the account.
Right-click AI actions (Fix grammar, Rewrite, the tone options, Shorten, Summarize) save the text you selected and the result to that same history, so you can find and reuse them. The same rules apply: on your device unless you sign in, and you can delete any entry from History.
Optional cloud providers
If you enter an API key for Google Gemini, Groq, OpenRouter, Anthropic (Claude) or OpenAI in Settings — in the extension or on the website — then:
- recordings longer than your on-device limit, and any recording that is not turned into text on your device (on-device transcription is off, its model is not loaded, is paused or is still downloading, or it failed) — except while you are offline, and except with an Anthropic key, which cannot transcribe audio;
- the text of each dictation, for the automatic AI grammar fix that runs after dictation (on by default when you have a key; in the extension you can switch it off in Settings → Transcription → Dictation bar → "Fix grammar with AI automatically"); and
- text you send to an AI action — Fix grammar, Rewrite, tone changes, Shorten, Summarize, Key points, or the result chat
are sent over HTTPS to that provider (generativelanguage.googleapis.com, api.groq.com, openrouter.ai, api.anthropic.com or api.openai.com) using your key, and are subject to that provider's privacy policy. Your key is stored in local storage on your device — the extension's, or on the website that browser's — and is sent only to the provider it belongs to, plus, in the extension when you are signed in, to your private account record (below). Remove the key in Settings to stop all cloud processing.
Optional account and sync
If you sign in (Google, or email and password), the extension stores your saved transcripts, your dictation history (text, title, cleaned text, summary, key points, page title and address, timestamps) and the words in "Your words" in our database, hosted on Convex (convex.cloud), linked to your account, so they are available on your other computers. Any API keys you have entered in the extension are stored in the same private account record so the extension on your other computers can use them too; they are sent only to the browsers where you sign in and to the provider each key belongs to. On a browser that more than one person signs in to, keys synced into it stay in that browser after you sign out, until they are removed in Settings or with Clear local data, and a key entered there can be synced into the next account that signs in; on a shared computer, remove your keys before you sign out. "Your words" follow the same rule as History (see Dictation history): a word added while you are signed in is added only to your account; a word added while nobody was signed in is added only to the account that was signed in most recently before it, when that account signs in again, and never if nobody had signed in on that browser; words that were on the browser before version 5.0 stay there and are not added to any account. Words synced from your account stay in that browser's "Your words" after you sign out, until they are removed or Clear local data is used, but they are never added to another account. Removing a word in Settings while you are signed in also removes it from your account: straight away when you are online, otherwise the next time you open the extension's side panel signed in on that browser (unless Clear local data is used before then). Removing a word while nobody is signed in, or removing a word that came from someone else's account, removes it only from that browser, and a word that is in an account comes back when that account signs in there again. History your account synced to a browser also stays listed in that browser's History after you sign out, until you delete it or use Clear local data. Keys you save on the website under Settings → AI are not synced: they stay in that browser. A teacher's class keys, added under Settings → School, are different: they are kept with the teacher's account on our server (see Classes below). An account also lets you join or run a class (see Classes). Your email address is used only to identify your account (and, in a class, it is shown to the teacher; see Classes). Every database function checks the signed-in user and returns only that user's rows; nobody else, including other users, can read them. Without signing in, nothing is sent to our database, except the email address you type on the sign-in screen (see "Checking your email address") and, if you press "Forgot password?", the reset code (see "Password resets").
In the extension you can sign in inside the extension itself, or choose "Sign in in your browser", which opens our web app in a browser tab. When you finish signing in in that tab, the page passes the session to the extension and nothing else; the extension accepts it only if you asked for it from the side panel moments before. Signing out of the extension also ends a class's settings on that computer (for example, writing checks a teacher turned off come back) until you sign in again.
Checking your email address. When you sign in or create an account, the sign-in screen first asks our server whether that email address already has an account and how it signs in (with a password or with Google), so that a mistyped address does not create a second, empty account. Because this check works before anyone is signed in, it can show whether an address has an IntelliScribe account. The current sign-in screen's check is limited in how many times it can be made for one address, and in total, each hour; for that count the server stores only a scrambled (hashed) form of the address, and deletes it after a day. An older form of this check, still used by version 4.7 of the extension, is not limited; it will be removed once version 5.0 has reached everyone.
Password resets. If you press "Forgot password?", the reset code is recorded for 20 minutes and shown, with your email address, to IntelliScribe's administrator (us), so that it can be read to you when your school's mailbox cannot receive our email. The administrator is reminded to make sure they are talking to the owner of that address before reading a code out. Expired codes are deleted within about an hour.
Classes (for schools)
A teacher can create a class and add their own API key, which is kept with their account and shared by every class they run. A student joins only by typing the class code or opening the invite link their teacher shared, and is shown the class name, the teacher's email address and what the teacher can see before they confirm. Nobody can be added to a class by someone else. Classes need an account.
The class list. A teacher can paste the email addresses of the students they expect (pasting fills a class list up to 200 addresses, however many pastes it took, and one paste can be up to 50,000 characters; approving a student adds their address as well), and type a name beside any of them. That list is stored with the class on our server and can be read and changed only by the teacher who owns that class; it is not an account for anyone, it sends nobody an email, and it never puts somebody in a class who has not asked to join it themselves. What it changes is who may join: once a list exists, somebody who uses the code or link with an address that is not on it is waiting for approval — their email address and the time they asked are shown to that teacher until the teacher approves or declines them, or they withdraw by leaving. A student the teacher declines is treated exactly like one they remove from the class: their address stays on that teacher's class page as a removed student, so the teacher can let them back in later. While a student is waiting they are not in the class: none of the teacher's settings apply, nothing of theirs can use the teacher's key, and nothing they do is recorded for the teacher. Adding a waiting student's address to the list is also an approval — unless the class is full or archived, or they have since joined another class, it lets them in, and from then on the class's settings apply to them like any other student in it; the teacher's page says how many of the addresses they pasted were let in that way. A class with no list works as before: anyone with the code or link joins straight away. A teacher can remove any address from the list at any time; removing the address of a student who has already joined does not remove that student, and the last address can only be removed once nobody is waiting, because removing it opens the class to anyone with the code again. The list is kept until the teacher removes it, and a request nobody answers is deleted 30 days after it was made. A list match is the address the account signed in with: it saves the teacher a click for somebody who already has the class code or link, and a class with no list lets that same person in anyway.
While a student is in a class:
- The teacher's key pays for the AI features. These requests go from our server to the provider the teacher chose, using the teacher's key:
- text the student sends to an AI action they press (Fix grammar, Rewrite, the tone changes, Shorten, Expand, Summarize);
- while the teacher has AI grammar fixing on, the text of every dictation, including dictations whose audio was turned into text on the student's device, because that text is sent to be fixed. (Files a student imports or pastes into the side panel are not fixed automatically in a class, and an audio or video file a student uploads there is turned into text only on their device, never through the teacher's key.)
- while the teacher has cloud dictation on, recordings that are not turned into text on the student's device: recordings longer than the student's on-device limit, and any recording when the on-device model is not loaded, is paused after a problem, is switched off by the student, or fails. A student who turns on "Turn my speech into text only on this device" (Settings → General → EDU in the extension, your class card under Class on the website) sends no recording to the cloud.
- The teacher can see those requests. For each one we store who made it, when, which feature and provider, its size and whether it worked, and — unless the teacher has turned text storage off for the class — the text sent and the text returned (for a recording, the transcript). Turning text storage off stops storing text for new requests; text already stored is deleted on the normal schedule. The teacher's dashboard lists requests without their text; opening one to read it is recorded. Requests are deleted automatically after 30 days, or after one year if the teacher saves a particular one.
- The teacher cannot see anything else: not kept recordings (see Kept recordings), not on-device writing checks, not dictations that stay on the device while AI grammar fixing is off, not the student's history or saved transcriptions, and not the student's password or settings.
- The teacher decides whether writing checks, cloud dictation, AI grammar fixing and the AI writing tools are available, and can change them after the student joins. The join screen shows which are on; when the teacher later turns on one that uses their key, the student is told the next time they open the IntelliScribe side panel or web app, and automatic AI grammar fixing and cloud dictation stay off on that device until the student acknowledges the change there (a dictation made in the meantime is not sent through the teacher's key for them). The student's own settings are kept and come back when they leave.
- On another computer, the student is asked again. Signing in somewhere new brings the class and its settings with the account, but the notice saying what the teacher has turned on appears fresh on that computer: until the student presses OK there, automatic grammar fixing and cloud dictation stay off and nothing of theirs is sent on the teacher's key. The extension and the website ask separately.
IntelliScribe's administrator (us) can see a list of all classes with each class's name, its teacher's email address, when it was made, how many students are in it and how many AI requests it made in the last 30 days, to look after the service. That list does not include the requests, their text, or who the students are.
A student can leave a class at any time; no new requests are recorded after that, and past requests age out on the schedule above. A teacher's API keys are stored on our server (Convex) linked to the teacher's account, are never shown again after being added (only their last four characters), are never sent to students' devices, and are sent only to the provider each key belongs to. A teacher can delete a key at any time.
The web app
The web app (intelliscribe-app.netlify.app/app/) works without an account: your Write tab draft (including dictated text), settings and any API key you save there stay in your browser's local storage on that device. Sign in and its History tab shows the history your account holds; keys saved on the website are still not synced. Our public pages load their typefaces from Google Fonts, which means Google receives the usual web request (your IP address) when a page opens; the web app itself and the extension ship their own fonts and make no such request.
Settings
Preferences (colour scheme, dictation quality and language, writing rules, allowed sites, thresholds) are stored locally with chrome.storage / localStorage.
What the extension does not do
- No analytics, telemetry, crash reporting or advertising.
- No reading of web pages beyond the text field you are typing in, and only while writing checks are on for that page.
- No selling, renting or sharing of data with third parties.
- No remote code: all code ships in the extension package.
- No web-app sign-in that the extension did not ask for: a session is accepted only after you click "Sign in in your browser", and then only from our own site.
Deleting your data
- Local data: Settings → General → Data & privacy → Clear local data (history, settings, keys, kept recordings, and a class's settings on that computer); Settings → Transcription → Model & speed → delete the model cache; or uninstall the extension, which removes all extension storage. For the website, clear this site's data in your browser's settings (your draft, settings, key and the cached speech model).
- Kept recordings: delete a dictation (its recording goes with it), or use Delete all recordings next to the Kept recordings setting; turning the setting Off deletes the ones on that computer and stops keeping new ones. See Kept recordings.
- Synced data: delete items from History, remove a key in Settings (the account copy is updated at once; a second computer that still holds the key keeps it until you remove it there too), or email the address below to have your account and all its rows deleted.
Children
The extension is not directed at children under 13. Schools deploying it for students can keep the default (no account, no API key), in which case no data leaves the device. A school that uses classes (above) should make sure its own consent requirements for student accounts and teacher-visible AI use are met before students join.
Changes
We will update this page and the "Last updated" date when the policy changes.