Privacy · Chrome extension

Extension Privacy Policy

What the CANtutor AI browser extension reads, when, and where it sends it — for the extension itself, separate from the CANtutor account it runs on top of.

Applies to the CANtutor AI Chrome extension, version 0.6.9

The short version

A plain-language summary for convenience. The sections below are what actually governs.

  • The extension reads the text you highlight, the page’s title and URL — nothing else — and only when you press a button or use the right-click menu.
  • It reads a Google Doc only when you explicitly ask it to, only the document open in your active tab, and only using the Google session already in your browser.
  • Nothing is read in the background, on page load, or from a tab you are not looking at.
  • What you send goes to CANtutor’s own backend, authenticated with your existing cantutor.ai session, and to OpenAI, which generates the answer, acting as a processor on our behalf. Nothing is sold.
  • There is no analytics, no tracking, no separate login, and no reading of any tab other than the one you invoked the extension on.

1. Overview

The CANtutor AI browser extension is a client for the CANtutor AI service — it lets you highlight text on a page, or the page itself, and ask your tutor about it without leaving what you’re reading. This page describes what the extension itself does with your data: what it can see, when it looks, and who it sends anything to.

Anything you send through the extension is then handled exactly as it would be if you had typed it into the CANtutor AI web app — under the general CANtutor AI Privacy Policy, which governs your account, how long we keep things, and your rights as a user. Read this page for the extension’s own behaviour; read that one for everything that happens after your question reaches us.

1b. You are told all this inside the extension, first

The first time you open the panel — before it checks your session, and before it reads anything you have highlighted — it shows a screen listing the three things it handles and the two places they go. Nothing is sent until you press I understand — continue.

That screen is not a copy of this page and it is not optional reading. The Chrome Web Store requires the disclosure and the consent to happen inside the extension’s own interface, and states in terms that a privacy policy alone does not satisfy the requirement. This page is the long version; the screen is the part you cannot miss.

If what this page describes ever changes in substance — a new kind of data, a new recipient — the screen appears again rather than assuming your earlier agreement still covers it.

2. What the extension reads

2.1 The text you highlight

The extension reads the text of your selection, plus the current page’s title and URL. It reads nothing else about the page you’re on. The title and URL are sent along with your question so your tutor knows what you’re reading — the same paragraph means something different in a chemistry article than in a history one, and the tutor can’t otherwise see your tab.

2.2 The whole page, only if you ask for it

If you press Use this whole pagein the panel, the extension reads the page’s visible article text — not its navigation, headers, footers or hidden elements — along with its title and URL. This never happens automatically; it only runs on that click, from a copy of the page, and nothing you’re looking at is changed.

2.3 A Google Doc, only if you ask for it

If you press Read this document while a Google Doc is open in your active tab — and only after Chrome has asked you to grant the extension access to docs.google.com, which it does not request at install time — the extension reads the plain text of that document through Google’s own export endpoint, using the Google session already active in your browser. It does not use OAuth, does not request a Google Drive scope, cannot see your Google password, cannot list your files, and cannot open any document other than the one already in front of you.

2.4 A picture of your screen, only if you ask for one

If you press Show it my screen, Chrome’s own screen picker — not the extension — asks you to choose a screen, window or tab. One still frame is captured from that choice and the capture stops immediately; nothing is recorded and no audio is ever requested. This exists for content the extension has no other way to read, such as maths drawn as an image or a PDF rendered by Chrome’s built-in viewer.

2.5 Text you paste, and your tutor-mode setting

Text you paste directly into the panel is treated the same as a selection. The single Learn / Practice / Answer setting you choose for your tutor is also remembered — it contains nothing personal and is the only thing the extension writes to disk.

3. When it reads anything

Never in the background, never on page load, and never on a tab you have not acted on. Every read described above happens only in direct response to one of three things you do:

  • Clicking the floating button next to a selection, or the toolbar icon.
  • Choosing the right-click (context menu) item on selected text.
  • Pressing a specific button inside the panel — Use this whole page, Read this document, or Show it my screen.

A selection you never act on is never read by anything except the code that decides whether to draw a button next to it. There is no polling, no periodic capture, and no listener that fires on navigation.

3.1 Which sites the floating button appears on

The code that draws the floating button is present, from the moment a page finishes loading, on four groups of addresses and nowhere else:

  • *.instructure.com— Canvas LMS’s cloud, where most Canvas courses are hosted. Canvas instances your school hosts on its own domain are not included.
  • www.khanacademy.org
  • www.youtube.com — the text on the page around a video. The extension does not touch the video itself, and requests no captions or transcripts from any Google API.
  • docs.google.com

Being present is not the same as sending. On those four, the code watches for a text selection, and when it sees one it looks at the selected text — and only the selected text — to decide whether it is long enough to be worth offering a button for. It reads nothing else on the page: not the rest of the content, not your form fields, not what you type. Nothing about a selection you never act on leaves your browser: the reading happens inside the page, and only pressing the button sends anything anywhere.

The code makes no network request of its own from any page, and draws its button inside a closed shadow root, so the site you are on cannot reach into the button or restyle it. (That last part protects the button, not your selection — any web page can already see what you have highlighted on it, extension or no extension.)

3.2 Adding a site yourself

Everywhere else, the button does not appear and the extension has no standing access at all — the right-click item and the toolbar icon still work, because those grant access for that one click only. If you want the button on a site that is not in the list above — a Canvas instance your university hosts itself, for instance — the panel offers Show the highlight button on this site, and Chrome then asks you to approve that one address by name.

This is why the extension declares https://*/* as an optionalpermission. It is never requested as a whole and Chrome grants nothing for it at install time; it exists so that the request can be made for a single address you have chosen. Nothing is added without that approval, and a site you add can be removed again from Chrome’s extension settings.

4. Where that data goes

When you ask a question — with a selection, the whole page, a Google Doc’s text, or a screen capture attached — it is sent over HTTPS to CANtutor’s own backend at www.cantutor.ai, authenticated with the cantutor.ai session cookie you’re already signed in with in your browser. The extension does not maintain a separate login and does not ask you to enter a password or paste an API key.

From there, the content of your request is passed to OpenAI, the AI model provider CANtutor uses to generate a response, acting as a processor on CANtutor’s behalf under commercial terms that restrict it to producing that response — not to training its own general-purpose models on your content. OpenAI is the only AI provider the extension’s features reach; the live voice tutor, which runs on Google, is a website feature and is not part of this extension. This is the same arrangement, and the same provider, listed in section 7 of the general Privacy Policy.

Nothing the extension reads is sent anywhere except those two destinations. It makes no network request to any host other than www.cantutor.ai and docs.google.com, and the extension’s own content security policy blocks it from doing otherwise.

5. What it does not do

  • No analytics or tracking. No event about your use of the extension is recorded anywhere. There is no third-party SDK, no remote script, and no advertising identifier.
  • No reading of other tabs. The extension does not request Chrome’s tabs permission and cannot see what other tabs you have open. It learns one URL — the page you invoked it on — at the moment you invoke it.
  • No background scraping. Nothing reads a page on load, on a timer, or on a tab you have not just acted on — see section 3.
  • No separate password or OAuth login. Authentication is your existing cantutor.ai browser session; the extension does not request Chrome’s cookiespermission and never reads a cookie value directly — Chrome attaches it to the request on the extension’s behalf.
  • Nothing is sold, rented, or shared with a third party for their own marketing or advertising purposes.

6. Google API Limited Use disclosure

CANtutor AI’s use of information received from Google APIs and Google user data — specifically, the text of a Google Doc the extension reads at your explicit request — adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements. Specifically:

  1. Limited use. Google user data — the text of a Google Doc you explicitly ask the extension to read — is used only to provide the user-facing feature you requested: answering your question about that document, or building a study pack from it. It is used for nothing else.
  2. No transfer.That data is not transferred to any third party except (a) CANtutor’s own backend, which you are a user of, and (b) OpenAI, the AI model provider CANtutor uses to generate the answer, acting as a processor on CANtutor’s behalf. It is not transferred for advertising, credit assessment, lending, or any other purpose.
  3. No human reading. No human reads this data, except with your explicit consent for a specific issue you have raised, where required for security or to comply with law, or on aggregated and anonymised data for internal operations.
  4. No sale. This data is never sold.
  5. Minimum scope. The extension requests no Google OAuth scopes at all. It uses your existing browser session against a document you already have open, which is the narrowest possible access — narrower than the read-only Drive scope would be.

7. What's stored, and where

Almost everything the extension handles lives in chrome.storage.session memory only. It is never written to your disk, and it is gone the moment you close Chrome. That includes the current selection or page text, the current chat session id, and the conversation shown in the panel, which is capped at 20 turns and is also cleared on the server when you press New chat.

A screen capture lives only in the panel’s memory until your next question is sent, or the panel closes — it is never written to storage or disk.

The one exception is your tutor-mode setting (Learn / Practice / Answer), which is the only thing the extension writes to chrome.storage.local — on disk, but containing nothing personal — so the panel remembers it between sessions.

Uninstalling the extension removes everything it holds on your machine. Your questions and the tutor’s answers are kept under your CANtutor account on our servers, exactly as they would be if asked through the web app; to delete those, use your account settings or see the retention and deletion rules in section 11 of the general Privacy Policy.

8. Changes and contact

Material changes to this page will be published alongside a new version of the extension and reflected in its Chrome Web Store listing. For anything about the extension’s own data handling, or a question that spans both this page and our general policy, email privacy@cantutor.ca.

Looking for the account-level policy?

This page covers only what the extension itself reads and sends. What happens to your information once it reaches CANtutor — retention, your privacy rights, and everything else about the account — is in the general CANtutor AI Privacy Policy.