A full record of what vendor staff did

Every action every vendor employee takes — where they went, what they read, what they changed, and what they were refused — recorded from two choke points and filterable by person, account, action and date.

What it is

An activity table fed from exactly two places: the capability gate every platform endpoint passes through, and the account-resolution point every entry into a customer account passes through. It records reads, writes, denials, screen views and account entries, then rolls them up into people, sessions and totals in a filterable table.

Also called: audit log · activity log · what did support do · employee activity

See it
A full record of what vendor staff did
Apr
May
Jun
Jul
Ronan Petsch — Equipment Storage
Framing
Ivy Brubaker — 40×64 Shop
Concrete
Sutter Kline — 30×40 Garage
Trim
Marlin Hoover — Equipment Storage
Framing
Ronan Petsch — Riding Arena
Concrete
Framing crewConcrete crewTrim crew
The audit table with the totals strip above it — events, creates, updates, deletes, denials, accounts — and person and session groupings. src/app/platform/audit/page.tsx. Sample data — no customer information appears here.
How it works
  1. 1The capability gate records every call it lets through as a read or a write, and every one it refuses as a denial.
  2. 2The account-resolution point records entries into customer accounts.
  3. 3Identical reads by the same actor on the same path collapse for a minute; writes, denials and account entries are never throttled.
  4. 4Screen views are reported by a beacon, because hash-route navigation never reaches the server.
  5. 5The audit screen rolls the rows up by person and by derived session, with filters for person, account, action kind and date range.
Why we built it

The module states two rules up front. First: 'It must never fail the request it describes. A logging error turning into a 500 would mean the audit system takes the product down, and the first instinct would be to switch the audit system off.' Second: 'It must be written from a choke point, not sprinkled at call sites.' The throttle is justified by what it protects: 'Logging each one buries the events that matter — the writes and the denials — under thousands of identical listed tenants rows.' The screen exists as its own tab rather than a panel inside the team page because, as its header says, the questions asked of it — 'what happened to this account', 'what has this person been doing' — 'are not questions about staffing.'

The problem
  • No durable record of vendor-side activity across accounts.
  • Logging at call sites means the coverage silently degrades as routes are added.
  • An unthrottled log makes the important events unfindable.
Sound familiar?
What you get
One place answers 'what happened to this account' and 'what has this person been doing'.
Writes and refusals are never dropped by the noise filter.
The log can never break the request it describes.
What's inside

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →