Audit & Forensics

Audit & Forensics

Feature

Two distinct trails, deliberately kept apart: business history answers "what happened to this object?", the forensic layer answers "what exactly happened on this request?" -- linked by a correlation ID, never conflated.

Sentinel audit dashboard

Volume, recent activity, breakdown and tamper-evidence proof for the institution's audit trail.

5.18Mbusiness events tracked
93.68%object coverage
27audited object types

A trail that never changes

The audit trail is insert-only. There is no update, no delete, no bulk action, and there never will be: mutability would destroy the evidentiary value that is the whole point of this trail. The database itself refuses updates and deletes on these tables -- this isn't just a screen that happens to omit the buttons.

  • Every row carries the fingerprint of the previous one -- a verifiable chain
  • Any tampering after the fact would be detected, not just forbidden
  • Coverage shown honestly: 93.68%, not rounded up to 100
Sentinel forensic view

Forensic view -- one row per HTTP request: origin, location, session, client, and the exact request and response.

A separate, more confidential forensic layer

The forensic layer answers a different question from business history: what exactly happened on this request. Authentication secrets are hashed and never stored in plain text; an oversized body is visibly truncated. This trail is deliberately entrusted to fewer people than business history, and kept for a shorter time -- a missing row often means it was purged, not that nothing happened.

  • One row per request: IP address, location, session, client
  • Authentication secrets hashed, never in plain text
  • Retention deliberately shorter than business history
Sentinel audit search

Full-text search and facets over business history, always within a bounded time period -- CSV export available.

Search, filter, export -- never rewrite

Full-text search, filters by action, object type, actor and outcome, chronological sort by default -- because an auditor's question is "what happened, in order", and relevance-based sorting would hide the neighbouring events that give an incident its shape. The CSV export deliberately omits each event's payload: it frequently contains students' personal data.

  • Full-text search and facets, always within a bounded period
  • Chronological sort by default, not relevance-based
  • CSV export that deliberately protects personal data