How your data moves

What Gingham stores, where it goes, and what it never touches. This page describes how the software works today. It is not a legal agreement.

Last reviewed September 26, 2026.

The short version

  • Gingham works on course content. It never reads grades, submissions or class rosters.
  • Your Canvas token is stored encrypted on Gingham's server and is never kept in your browser.
  • The app sends nothing to analytics or advertising companies, and it serves its own fonts.
  • The assistant and the MCP connector are off until they are turned on for your account.
  • You can export your data or delete your account at any time from Account settings.

In your browser

The editor runs in your browser tab, and a course file you open from your computer is read there. Once you are signed in, Gingham saves the open course as you work: after a pause in editing, when you press Save, and when you switch courses or leave the tab.

Two things never leave your device: the undo history of the session, and Versions, the copies Gingham keeps before each Apply, pull, publish, replace and restore. Versions are stored in this browser only. They are not in your account and do not follow you to another device.

When you save

A save keeps the course in your account and on this device, so you can open it anywhere you sign in.

  • The course itselfUploaded from your browser straight to object storage (Cloudflare R2) through a short-lived signed link. It does not pass through Gingham's application server.
  • The list of your coursesTitle, size and times, kept in Gingham's database (Supabase, hosted by AWS in the United States).
  • Your accountYour email, name, and profile image if you add one.

Stored courses are encrypted at rest by the storage provider. Gingham does not add its own encryption layer on top of that, so do not treat a saved course as end-to-end encrypted.

When you connect Canvas

You connect with a Canvas access token, or with Sign in with Canvas where your organization's administrator has set it up. Gingham's server receives the token once, encrypts it, and stores it where only the server can read it. Your browser never keeps it, and it is never handed to an AI client.

Gingham talks to Canvas through its server, using a fixed list of operations on course content: items, modules, course settings, rubrics, and course imports and exports. That list has no operation for grades, submissions, enrollments or rosters.

When you import a course from Canvas, Gingham asks Canvas for a course export and moves the file through the same object storage as a saved course.

Some Canvas actions remove things that students' work depends on. Deleting an assignment in Canvas, or replacing a course, also removes the student submissions attached to it inside Canvas. Replace course asks for a typed confirmation and keeps a copy in Versions, but check for student work before you delete anything in a course that is running.

The assistant

The assistant is off until it is turned on for your account, and it shows what it sends before you use it the first time. When you use it, Gingham's server sends the following to OpenRouter, which routes it to the model provider:

  • your messages to the assistant
  • a summary of the open course's structure: module and item titles, types and settings
  • the parts of the course the assistant reads or edits, which it shows you as it goes

Gingham asks OpenRouter to use only providers that do not keep prompts. That is a setting Gingham sends; each provider's handling of data is set by its own terms.

Your conversations are stored in your account so you can return to them. You can see how many there are and delete them in Account settings. Gingham also records usage for each request: tokens, model and time.

The assistant drafts changes and never applies them itself. Each one waits for you to review it and click Apply.

The MCP connector

The connector at https://mcp.ginghamlearning.com/mcp lets an AI client such as Claude or Codex work with Gingham. It is turned on per account.

  • You approve each client in Gingham before it can connect. Approving creates a key, listed under MCP keys in Account settings, where you can revoke it at once.
  • An approved client can read and change the courses in your account, and act on Canvas through your connection the way the app does.
  • Your Canvas token is never sent to the client.

What you type into your AI client, and what the client reads back from Gingham, goes to that client's own AI provider under that provider's terms.

What Gingham records

Gingham records a few milestones for each account, such as creating a first course, connecting Canvas, or saving. Each record is the name of the event and when it happened. Course content is never placed in these records or in error reports.

This website

hellogingham.com sets no cookies and loads nothing from other sites. Its fonts are served from this domain. Cloudflare hosts it and handles each request to serve the page.

Services Gingham runs on

  • CloudflareHosts the app and this site, runs Gingham's server and the MCP connector, and stores saved courses.
  • SupabaseSign-in, sign-in emails, and the database. Hosted by AWS in the United States.
  • OpenRouter and model providersThe assistant, only when it is turned on for your account.
  • GoogleOnly if you choose Sign in with Google.
  • GitHubRuns the scheduled backups of Gingham's database.

What you can do

  • Export your data from Account settings.
  • Delete account from Account settings.
  • Delete all assistant conversations, and revoke any MCP key.
  • Unlink a course from its Canvas course. Nothing in Canvas changes.

Questions about any of this: [email protected].