airlockd itself — an embedded single-page app —
at your deployment’s URL, and it is login-gated and
multi-user from the first request.
Who sees what
Sign-in is email + password against Airlock’s own user table (httpOnly session cookie, server-side revocation). Two roles:
Non-admins see the same timeline a reviewer would, scoped to themselves —
enforced server-side, not in the UI.
Timeline
The core view is one chronological stream across all three event kinds:- Access events — proxy egress rows as compact
ALLOW/DENYhost chips, with method, path, byte counts, and duration. - Chat events — sandbox conversations: prompts, replies, tool calls and results, colour-coded, long content collapsed.
- Decision events — an agent’s resolutions: target, decision, confidence, and cited sources, with any flags inline.
The flags queue
Decision events run through the flagging rules the moment they are ingested, and flagged ones land in an admin review queue:no_evidence— a decision that cites no sources.low_confidence— self-reported confidence below your threshold.disagreement— two decisions on the same target that do not agree.
open → acknowledged → resolved) with reviewer and resolution note.

