Who changed what, and when
The two records the school keeps of itself: a row for every change made in the app, and the handful of notices the school itself is sent.
Written for school owners and admins
The school keeps two records of itself. The activity log holds a row for every change made through the app: who, to what, when, and what changed. The message ledger holds a row per message sent, and answers whether a family was really told. Neither is an inbox; neither comes looking for you.
What the school itself is told
Very little, and never on screen. Two things generate a notice to the school: a family that registers itself and chooses to pay at the desk, and a family that books a trial class. Both go by email or WhatsApp to every admin account, in that person's own language, and to nobody else — not a “Manager”, a “Front desk” or a “Coach”, whoever is on shift. “Messages” is the family's page, and a staff account that opens it is sent to “Communications” instead. The bell in the top bar wears its dot at all times and opens nothing.
The activity log
Two things in a row are frozen the moment it is written: a stored code for the action, and a plain-text snapshot of the name it concerned. Everything else is worked out at reading time. So renaming a class or deleting a student never rewrites history — the row keeps the name it carried that day, while the wording around the code follows whatever the product calls that action now. The “Related” links are the live part: a record deleted since keeps its name and loses its link.
- Open “Audit log”: every entry, newest first, 50 to a page. From a student or a parent, “Full log” under “Activity log” opens the same log already narrowed to them, while “Show everything” widens it again.
- Narrow it with “Action”, “Entity” and “Actor”. “System” there means a scheduled job or a call from the payment provider, not a person.
- “Search” matches the stored name and nothing else: search for a child or a class, never for an amount, a note, or the person who acted.
- Pin a period with “From” and “To”. Any change of filter returns the list to its first page.
- Click a row for what changed and its “Related” links. A row carrying neither does not open at all.
What never reaches it
- Reads. Opening a profile, checking a balance or exporting a list leaves nothing behind, with one exception.
- Anything done outside the app. Rows are written by the app's own request handlers, so a change made straight in the database is invisible here.
- A row that failed to save. Writing the trail is best-effort by design: the change still goes through and nobody is told, so a missing row proves little.
Last checked
