Wrygloss

About and privacy

Wrygloss turns the highlights and saved words of your e-reader into study material: terms, meanings and cards you review with spaced repetition. It is free, and its code is under the MIT license.

Your content is stored in plaintext

Your highlights, notes, saved words, books and everything derived from them (terms, meanings, cards and review history) are stored unencrypted in the app's database, relying only on the hosting provider's encryption at rest. Each user sees only their own data, but the operator of Wrygloss can technically read it. This is a deliberate choice: the server has to read what your e-reader sends to clean, merge and interpret it. Device tokens, session cookies and sign-in links are stored only as hashes.

What the agent on your e-reader reads and never reads

ReadsNever reads
Bookmark: id, book, chapter, type, text, note, position, color, Hidden, datesthe user table (email, access tokens)
WordList: word as saved, book, dictionary, dateBookmark.UserID, content.___UserID
content: title, author, language and reading position, of cited books onlycookies, AnalyticsEvents, the rest of the library
.kobo/version: firmware and modelserial number (first field of .kobo/version)

The original database is never opened: the agent copies the file and its WAL to /tmp, reads the copy and deletes it. The database file is never sent. Read the agent's code.

Where your content goes

  • To this server, and nowhere else, from your e-reader: only through the agent, over HTTPS.
  • To the LLM provider you choose (Gemini, Anthropic or OpenAI), when you start an enrichment: the text of your captures, their language and dictionary, and the book's title and author. Never the book's text or chapter titles. Your browser calls the provider directly with your own key; the key never reaches Wrygloss. What the provider does with it is governed by its terms: on Gemini's free tier, Google may use it to improve its products.
  • No analytics, no trackers and no third-party scripts in the app.
  • Your email address is used only to send you sign-in links.

How reminders reach you

Wrygloss sends no reminders until you turn them on in a browser. Each one goes from this server through your browser's push service (Apple, Google or Mozilla) to your device, and carries only the number of cards waiting in your review: never a term, a meaning or a book. Wrygloss keeps the push address your browser gives it, with its keys, until you turn reminders off there, the push service says the browser is gone, or you delete your account. The export counts these browsers but never contains their addresses.

Leaving

From your account you can download all your data as one JSON file at any time, and delete your account: everything is removed at once and for good, and every device token stops working.

If Wrygloss shuts down

You get at least 30 days' notice in the app before the service stops, with the export available all along, so you can take your data with you.

Sign-ups

Wrygloss runs on free hosting tiers, so it takes a limited number of accounts. When they are all taken, you can join a waiting list with only your email address.

Read the agent's code. This notice is a draft, still to be checked by a professional.