LMK — Privacy Policy

Effective October 19, 2026 (announcements and Chrome's built-in AI added the same day) · Applies to LMK at lmktoday.app and the "LMK Today" browser extension

LMK ("Let Me Know") is a planner for students. Its browser extension, LMK Today, reads your own Canvas or D2L Brightspace assignments, and the LMK app tells you what to do today. This page names everything LMK reads, everything that leaves your device, who handles it, how long it is kept, and how to delete it.

In short

Age

LMK is for students 13 and over and is not directed at children under 13. LMK does not knowingly collect anything from a child under 13; if you believe a child under 13 has used it, write to hello@lmktoday.app and whatever is held under that random id will be deleted. Anyone under 18 needs a parent or guardian to agree to the terms.

What the extension reads

Where it goes by default

Sync from anywhere (optional, Canvas only)

So your phone stays current while your laptop is closed, LMK's server can read Canvas for you. It is off unless you turn it on, and you can turn it off under the gear at any time. Brightspace offers students no access tokens, so it does not exist at Brightspace schools. When you turn it on:

Students on a phone with no laptop can paste a Canvas token they made themselves. Everything above applies to it, except that LMK cannot remove a token you made by hand from Canvas: delete it under Approved Integrations.

Your calendar (optional)

Planning around your calendar. Under the gear you can connect a calendar so the plan only uses time you are actually free. With Google Calendar, LMK asks Google for two narrow permissions: to see when you are busy (never what an event is called or who is in it), and to create one calendar of its own, called "LMK", and manage events only on that calendar. It never reads, changes or deletes anything on your other calendars. The busy times stay in your browser. With Apple, Outlook or another calendar, you paste that calendar's private link; because those services do not let a web page read the link directly, LMK's server fetches it for your browser and passes it straight back without keeping a copy, a log or a count, and your browser keeps only when you are busy. The link itself is saved in your LMK data (your browser and your own Drive), never on LMK's server. Disconnect under the gear at any time; Google's permission can also be removed in your Google account settings.

What LMK puts on your Google calendar (if "Put my study time on my calendar" is on): your planned study blocks for the next seven days and your exams, on the "LMK" calendar only. Deleting that calendar in Google removes them all.

Your deadlines in another calendar. With Sync from anywhere on, the gear offers a private calendar link. If you subscribe to it in Google Calendar, Apple Calendar or Outlook, that service fetches the link from LMK's server from time to time and keeps what it receives under its own terms: for each unsubmitted assignment with a due date, its course, title, due time, points, submission type and Canvas link. It never includes a score or a grade. The link is its own key, so anyone who has it can read that list; treat it like a password. Turning Sync from anywhere off makes the link stop working.

Classmates (optional)

For each class you choose to join, LMK's server keeps: the display name you type; a contact handle if you add one, such as an Instagram username (any short line, up to 60 characters); which class it is, meaning your school's address and the course's number; when you joined; and the study sessions you post (a time, a kind of place, an optional note of up to 80 characters and an optional assignment) or say you're in on. A class can also hold one link to its own group chat, which any member can add or change and every member can see; it does not record who added it.

Who sees it: only people who have joined the same class's list in LMK, after LMK confirmed they are in that course. Others in the course who open LMK see only how many have joined. On Canvas the confirmation is a code Canvas shows only to people in the course, read by the extension inside your own session and sent as a hash: never the code itself, never a password or a key. Brightspace has no such code, so there LMK uses the course's offering code, which is a weaker check. Classmates never see your sync id or support code, only a short public id made from a hash of it, and the list never includes your grades, scores, submissions or which assignments you have finished. When Sync from anywhere is connected, LMK's card on a Canvas course page asks the server how many classmates have joined; that request carries your school's address and the course number, nothing about you.

Reports: if you report an entry or a session, the server keeps your random id, the public id of what you reported, up to 200 characters you write, the class and the time, so a person can read it. Write to hello@lmktoday.app to have a report you filed deleted.

How long: until you leave. Leaving a class deletes your entry, the sessions you posted and your marks on other people's sessions the moment you tap. Turning off Sync from anywhere and removing the extension do not do this.

A classmate can send you an invite link that opens a class's list. The link carries no code, says nothing about who shared it, and earns nothing for anyone.

The morning note on a phone (optional)

If you turn it on, LMK's server holds one more thing about you, and it is an identifier: the address your browser's push service (Apple's, Google's or Mozilla's) hands out for that one browser on that one device, with the two keys that encrypt messages to it. It is a long random web address. Anyone holding it together with LMK's private key could make that device show a notification. It is stored against your device's random id (below) and nothing else: no name, no email, no account.

Beside it LMK stores, for each of up to four coming mornings worth waking you for, the moment to send the note, how many things are due and how many minutes they add up to. Your device works those moments out on its own clock, so LMK is never told your time zone or what time you get up, only instants in the future. They run out after four mornings, so a phone whose owner has stopped opening LMK goes quiet rather than being read a stale plan.

What the note says is put together on your phone. No assignment title, no course name and no grade is ever sent to LMK's server or through the push service. The headline ("Today: 3 things, ~2h 10m") travels encrypted; the line naming the first thing is added by your own browser from the plan it already has. Turning the note off in LMK deletes all of it at once. If you block LMK's notifications in your browser or phone settings, or remove the browser, the push service tells LMK the address is gone the next time a note is due and LMK deletes it then; it is also deleted after ten failed sends in a row, and when you turn off a connected Sync from anywhere.

The extension's morning notification on your computer is different: it is built on your computer from the plan the LMK page already showed you, and nothing about it is sent anywhere.

What LMK counts

To know whether LMK is used and where setup goes wrong, the web app at lmktoday.app sends LMK's server one word from a fixed list, plus the date in UTC and, once your school's Canvas or Brightspace has answered a sync, your school's web address (for example canvas.asu.edu). That is the whole message: no identifier, no cookie, no device details beyond whether the word came from a phone (see below), nothing about you, and LMK does not record your network address, so a count can never be traced back to a person. A school's counts are kept apart from everyone else's only once at least ten devices at that school have used LMK; until then the server keeps just the number of devices there and counts every other word with everyone else's, so no school's numbers describe one student. The address LMK uses is the one your school's own site answered from, never one you typed. The server refuses any word not on this list:

LMK's server also keeps tallies of its own in the same form, a word and a day, when one of its features is used: for example Sync from anywhere being connected, a calendar link being read, a morning note being sent or someone joining their first class. Inside claude.ai the counter is off entirely. When it opens, the app also fetches one small settings file from the same server (an announcement, the store link, whether classmates lists are on); that request carries nothing about you.

Crash reports

If the web app at lmktoday.app hits an error, it sends LMK's server the app's build number, a short label for the part of the app that failed, and the error message, cut to 300 characters. Nothing in it identifies you or your device. An error message is written by the code, not by you, but it can occasionally quote a few characters of the data being read. The server keeps them as a count of identical reports per day, so problems can be traced over time. Inside claude.ai nothing is sent.

A random id for your device

When you finish the welcome screen, the app makes a random id and a random secret for your device. LMK's server keeps the id, a one-way hash of the secret and the date it first saw them, so it can tell that a request about your classes or your morning note comes from you, and from your other devices once they share your synced LMK data. It carries no name, no email and no coursework.

How your school's site answers

When the extension reads a Brightspace school, it tells LMK's server, at most once every 30 days per school from each browser and once more after each update of the extension: the school's web address, the extension's version, which of Brightspace's API routes answered (each route with its numeric ids taken out, its status code, how many items it returned, and the names of its fields, never their values), and how many courses and assignments came back and how many of those have a due date, a submission or a grade. If the extension can't read a Brightspace school, or a school address you added yourself, and it has never read that school in your browser, it sends the same kind of report once a day until it can: the address, the version, whether it tried Canvas's or Brightspace's reader, the status code it stopped on, the first part of the page's path with numbers taken out (like /d2l/home), and the routes it reached, with no counts. It carries no name, no id, no title, no grade and nothing that identifies you; the address identifies the school. The server keeps one row per school (the latest report, how many reports have arrived, and when the first and last came), read on the admin side only. That is how LMK gets fixed for a school nobody who builds it can log in to.

No AI on a server, and nothing sent to one

LMK does not send your assignments, your notes or your grades to an AI model. The grade maths, the estimates and the ranking all run on your own device from what your school's site already gave you. Where LMK offers to open Claude, ChatGPT or Gemini with a prepared prompt, nothing is sent by LMK: the prompt is shown to you first, and it travels only if you click, to the service you picked, under their terms.

Chrome's built-in AI (optional, off unless you turn it on on that computer). Recent versions of Chrome on a computer come with a small AI model that runs on the computer itself. If you turn it on from "From your classes" on Today, LMK gives that model each recent announcement, with the titles and due dates of that class's open assignments, so it can point out a moved due date, new work or a cancellation. The model runs inside Chrome on your computer: LMK sends nothing anywhere to use it, and what it reads does not leave your computer. LMK checks every suggestion against the announcement's own words, and nothing in your plan changes until you tap a button. The suggestions are kept with the rest of your LMK data, on your device and, if you signed in with Google, in your own Drive file, so your phone can show what your laptop read. Chrome downloads the model from Google once (about 4 GB) under Google's terms for Chrome. Turn it off on the same card; "No thanks" keeps the offer away on that computer.

What it never does

Permissions, and why

These are everything the extension in the Chrome Web Store asks Chrome for:

The private build LMK's author runs also asks for claude.ai, where his own copy of the app runs, and for the course-tool sites named above. It is not distributed.

Who processes data for LMK

LMK takes no new payments and has nothing to buy. Before 14 September 2026 it sold an optional plan through Stripe, which holds those subscribers' card details and email (LMK never saw either). The few records LMK kept of those payments (Stripe's reference numbers, the plan, its dates and the amounts, against the payer's random id) are still in its database, where nothing reads or adds to them.

How long things are kept

Deleting your data

Usage counts and anonymous course statistics (which exist only inside the claude.ai copy) cannot be traced back to you, so they are not deleted individually.

Changes and contact

If this policy changes, the date at the top changes with it. Questions: hello@lmktoday.app.

← Back to LMK