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.
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.
drive.file permission, which lets it see only the files it created; it can never read anything else in your Drive.drive.file permission, so your phone can pick it up without LMK being open on your laptop. It is off until you turn it on, the Google sign-in token stays inside the extension on your computer, and nothing in it reaches LMK's server.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.
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.
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.
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.
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:
open (once per device per day), install (the first time a device opens the app), firstsync (the first time your school's data arrives), synced (once a day from a device that holds that data), extension (the first time the extension is detected) and school_seen (once per device for each school, the first time that school's data arrives: it is how the server counts devices at a school).step_fresh, step_school, step_approve, step_waiting, step_stuck, step_empty, step_phone); which kind of site your school uses, once the school you named on the first setup step tells LMK (lms_canvas, lms_d2l), or lms_other if you said it uses one LMK cannot read yet; a return a day, a week or a month after starting (back_d1, back_d7, back_d30); and sample_try if you try the sample semester.plan_viewed, once ever, the first time your own plan has been on screen for five seconds, and active_w, once a week, when you open LMK with your classes in it. Your device decides whether to send either word from your own data: it remembers that it already sent it, and if you sync with Google that memory travels to your other devices through your own Drive, so a laptop and a phone count as one student. Nothing about who you are is sent to do that; it is the same word and day as everything else.f_install (that first open), f_ext (the extension was found), f_sync (your school's data first arrived), f_plan (your plan was on screen for five seconds), f_stuck (the extension was there but your school never answered), and f_back1 / f_back7 (you opened LMK again a day, and a week, after that first day). On a phone only the first is sent, as f_install_m. The day stays on your device; the server sees only the word and the date, as with everything else.open, install, firstsync, synced, back_d1, back_d7, back_d30, plan_viewed and active_w are sent with _m on the end (for example open_m), because a phone cannot add the extension and its visits mean something different. That is the only device detail LMK sends.?from= and one of chat, reddit, club, prof, card, search or friend (friend is the link LMK's Invite a friend makes), the device sends from_ plus that word once, and act_ plus the same word when it first syncs: from_chat, act_chat, from_reddit, act_reddit, from_club, act_club, from_prof, act_prof, from_card, act_card, from_search, act_search, from_friend, act_friend. When that device comes back a day, a week or a month after starting, it also sends back_d1_, back_d7_ or back_d30_ plus the same word (for example back_d7_prof). The LMK homepage remembers that word in your browser too, so it still applies after you add the extension from the Chrome Web Store. Anything else after ?from= is ignored.fin_ontime or fin_late (it was finished before or after it was due), posted_late (it appeared less than two days before it was due), and, when LMK learns how long something took, est_ok or est_miss (its time estimate was close or not). Your device decides which word applies and sends only the word and the day; which assignment it was never leaves your device.ahead_go (a head start taken on a free day), room_share (a share tap in a class), join_seen and join_room (an invite link opened, and the class it then opened), room_nocode and room_denied (a class this device could not open yet), wrapped_shared (a semester recap shared) and invite_share (a tap on Invite a friend). The invite link itself is lmktoday.app/?from=friend plus your school's web address, so your friend's setup can skip the school question; it never names you, and LMK cannot tell who invited whom.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.
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.
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.
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.
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.
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.
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.
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.
If this policy changes, the date at the top changes with it. Questions: hello@lmktoday.app.