Armin for Canvas: privacy policy

Effective 28 October 2026 · Applies to version 1.0 of the Chrome extension and later

Armin for Canvas ("Armin") is a Chrome extension that improves a student's own Canvas pages: themes and dark mode, one to-do list for every course, the student's timetable, grade weights with a calculator, and optional AI study tools. It is made and run by Alfred Liu ("we"). Armin is an independent project. It is not affiliated with, endorsed by or supported by Instructure (the maker of Canvas), any school, Gradescope (Turnitin), Wiley, Macmillan Learning, VitalSource, Anthropic or Google.

This page says exactly what the extension reads, where it keeps it, what leaves your computer, who receives it, and what you can do about it.

Short version. Armin reads your own courses from your school's Canvas (and, if you use them, Gradescope, WileyPLUS, Pearson MyLab, Macmillan Achieve and, at the University of Toronto, ACORN) using the sign-ins you already have in Chrome. What it reads stays in your browser. Nothing goes to Armin's service unless you sign in to Armin and use an AI feature, share a look, or turn on phone sync, or you leave your email on the Welcome page to hear when your school's learning system is supported. Armin never sees your passwords. There are no ads, no analytics, no trackers, and nothing is sold.

1. What the extension reads, and why

Every read uses the session you are already signed in with in Chrome, the same way the site's own pages do. Armin never asks for, sees or stores your school, Gradescope, WileyPLUS, Pearson or Macmillan password.

FromWhatWhy
Your school's Canvas (any *.instructure.com site, the listed schools' own Canvas addresses, and any other Canvas site you add yourself)Your courses and sections, assignments (names, due dates, descriptions, submission status, scores), grades and grading scheme, course files and modules, pages, announcements, calendar events and your Canvas calendar feed address, the course's tool list, and your profile's name and email addressTo show your deadlines, classes, files and grades in one place on Canvas's own pages. Your email only pre-fills the sign-in box if you choose to sign in to Armin.
Gradescope (gradescope.com, .ca, .eu)Your Gradescope course list and each assignment's name, due dates and status or scoreTo show Gradescope work in your to-do list
WileyPLUS (learn.wileyplus.com, education.wiley.com, read.wiley.com)Homework names and due dates; your e-textbook's chapter list and the text of chapters you open. Armin also notices the addresses of WileyPLUS pages you open (only on those three sites) to know which textbook belongs to which courseTo show WileyPLUS homework with your deadlines, and your own textbook as a study source
Pearson MyLab (mylabmastering.pearson.com, mylab.pearson.com), only after you click Allow for itEach MyLab assignment's name, category, due date and number of questions, and for finished ones the score and when you handed it in; the title of a MyLab course page you open ("Math 211 - 101 - Fall 2026"), to know which of your courses it isTo show MyLab homework with your deadlines and mark what you've finished
Macmillan Achieve and its reader (achieve.macmillanlearning.com, Macmillan's reader hosts, *.vitalsource.com)The e-book's table of contents and the text of the sections you open, as the reader shows itYour own textbook as a study source
ACORN (acorn.utoronto.ca, University of Toronto students only)Your timetable from ACORN's own calendar exportYour weekly timetable with exact rooms
ChromeThe email address of the Google account Chrome is signed in to, and that account's internal idThe email pre-fills Armin's sign-in box. The id is turned into a one-way code (see section 4) so a reinstall on the same browser keeps the same device slot. Neither is sent anywhere unless you sign in to Armin.

On a Canvas site that is not on Armin's list, Armin does nothing until you click Use Armin on … (your school's site) and Chrome asks you to allow that one site. You can take that permission back at any time in chrome://extensions.

2. What it changes

Armin never submits, posts or changes anything on Canvas or any other site unless you press a button that says so (for example Mark done or Submit, which do exactly what Canvas's own button does). It restyles pages and adds its own boxes to them; the site's content is untouched.

3. Where it is kept

Everything in section 1, plus your settings, look, ticks, notes, tasks, events and study material, is stored in your browser (Chrome's extension storage on this computer). One small item, the random device code described in section 4, is also kept in Chrome's synced storage so the same browser profile keeps the same code; it contains nothing about your courses. Uninstalling the extension deletes everything Armin stored on this computer. When you uninstall, Chrome opens a short goodbye page on Armin's site (https://api.getarmin.com/armin/uninstalled). Opening it sends nothing about you: the address carries no identifier, the page has no analytics, cookies or trackers, and its optional feedback link only opens an email you write yourself.

4. What leaves your computer, and when

"Copy diagnostics" (only when you click it)

The toolbar popup's Copy diagnostics puts a summary of how Armin sees your Canvas on your clipboard, so you can paste it into a bug report: your courses' names, codes and term dates, which ones Armin treats as classes, the tools each course uses, your upcoming deadlines' titles and dates, and how your dashboard was laid out. It never includes your name, email, grades, scores, notes, file contents or any sign-in key. Nothing is sent anywhere by the button itself; it only reaches us if you paste it into a message.

Nothing, by default

Without signing in, Armin talks only to the sites in section 1, as you, to Openverse when you search for a course-card picture (only your search words are sent), and to Armin's service only if you leave a waitlist email (below).

When you join the waitlist (optional)

If your school uses a learning system Armin does not support yet (Brightspace/D2L, Moodle, Blackboard, Google Classroom or another), the Welcome page offers to tell you when it is. If you type your email there, Armin sends Armin's service that address, the learning system, your school's name and, for a school on Armin's list, its id and country. No account is needed. We use the address only to email you when your learning system is supported, never for marketing or anything else. If the service cannot be reached, the entry waits in your browser and is sent the next time Armin runs. Leave the box empty and nothing is sent.

When you sign in to Armin (optional)

Signing in creates or uses an account on Armin's service (api.getarmin.com), which runs on Cloudflare. You sign in with a six-digit code emailed to you (we send the email through Resend). Armin does not use Google sign-in.

Once signed in, the extension keeps a sign-in key in your browser and sends Armin's service a device code (random, or a one-way hash of your Chrome profile's id; it cannot be turned back into that id), the device name "Chrome extension" and the browser family.

When you use an AI feature

AI features (reading a course outline for grade weights and key dates, the daily plan, and the study tools: notes, flashcards, practice questions, mock exams, "Ask my course", explanations and marking your practice answers) send Armin's service only the text the feature needs:

Armin's service forwards that text (and any note photos) to Anthropic, the maker of Claude, to produce the answer. It is sent without your name, email address or account id. Anthropic processes it under its commercial terms, which do not allow it to train models on this data. Armin's service does not keep the text after answering, except as described under "Class-shared study material". It keeps a count of your AI use (requests, tokens, cost, and a number per study tool per month) to apply the monthly limits.

Before a study tool runs, Armin checks your question against the titles of assessments open on your Canvas, Gradescope or WileyPLUS so the study tools are not used on marked work; that check happens in your browser.

Class-shared study material

To avoid paying for the same work twice, some study material generated from a course's own files (a short practice-exam preview, lecture notes, question banks and flashcards) is kept by Armin's service and given to other Armin users in the same course. It is stored with the course code, section, term, file and your school's Canvas address, never with your answers. A newly made copy is shown only to the student whose browser asked for it until a second student's browser sends the same course text; only then is it given to the class. The service records which accounts made, confirmed or were given a copy (to count reports fairly) and removes those records when you delete your account. A reported copy is hidden for review, not given out again. Links in generated material that do not appear in the course text are removed.

When you share a look

If you publish a look (a theme for Canvas) to Armin's gallery, its name, the author name you type and its settings become public to other Armin users. You can delete it at any time, and anyone can report a look (reports from accounts younger than two weeks count for less). A look code you import loads pictures only from Openverse, Wikimedia and Flickr; pictures from other addresses are dropped.

Course-card pictures

Searching for a course-card picture sends only your search words to Wikimedia Commons (commons.wikimedia.org) and Openverse (api.openverse.org). The picture you pick is then loaded from that provider's servers when Canvas shows the card.

When you buy Premium (optional)

Premium is an optional paid tier for the study tools; everything else stays free. Checkout opens Stripe's own page in a new tab. You type your card details on Stripe's page; neither the extension nor Armin's service ever sees them. Stripe tells Armin's service which plan you bought, the amount, and your Stripe customer number. The service keeps the plan, its end date, the amount and refund status to run Premium, handle refunds and keep the records the law requires. If you use an invite code, the service records which account invited yours. The seller is Armin, not Google and not your school. Prices, refunds and fair use are in Armin Premium's terms of sale.

When you turn on phone sync (optional)

After each sync, Armin uploads a copy of what the Armin phone app shows (courses, class times, deadlines, assignment text, announcements, links to files; never the files themselves) and your ticks and hand-added tasks to your Armin account.

When you report a problem

Report a problem sends what you type, your first name, the extension version, your browser's user-agent string, which Canvas site you use, the number of courses, a few display settings and the last few AI error messages. Signed out, it opens an email to us instead, which you can read before sending.

5. Who receives data

RecipientWhatWhy
Armin's service (Cloudflare, our processor)Account email, device code, AI request text, usage counts, phone-sync copy, shared looks, bug reports, Premium records, waitlist email (with learning system and school)To run the features you turned on; the waitlist email only to tell you when your learning system is supported
AnthropicAI request text and note photos, without identifiersTo produce AI answers
ResendYour email address and the sign-in codeTo email you the code
StripeYour email address and what you type on Stripe's pagePremium checkout and refunds
Wikimedia Commons, OpenverseYour picture search wordsCourse-card pictures

We do not sell, rent or share your data with anyone else, for any purpose. We do not use it for advertising, for creditworthiness or lending, or for anything unrelated to helping you with your own courses. People at Armin do not read your course content, except text you send us in a problem report.

6. Limited Use

Armin's use of information received from Chrome and Google APIs, and of the website content it reads, adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements. Data is used only to provide and improve Armin's single purpose (improving your own Canvas experience), is not transferred except as described above, and is never used for advertising.

7. What it never does

8. How long it is kept

In your browser: until you clear it in Armin's settings or uninstall. On Armin's service: your account and its data until you delete the account; AI request text is not kept after the answer (class-shared material is kept for the course's term); Premium purchase records for as long as tax law requires; bug reports for up to 12 months; a waitlist email until we have told you your learning system is supported, or until you ask us to delete it.

9. Your choices

10. Children

Armin is for university and college students and is not directed at children under 13 (or under 16 where local law sets that age).

11. Changes

If what Armin reads or sends changes, this page changes first, with a new effective date, and the Chrome Web Store listing is updated to match.

12. Contact

Questions, requests or complaints: alfredliu9@gmail.com. The person accountable for this policy is Alfred Liu. If you are in Canada and not satisfied with our answer, you may complain to the Office of the Privacy Commissioner of Canada.