Guide

How to build a defensible audit trail for comp approvals

Most comp-approval audit trails answer "what happened?" but not "can you prove it wasn't changed?" — and that second question is the only one that matters when Finance, Audit, or a regulator comes asking.

Every integrated resort keeps some record of comps. Few keep a record they can defend. The gap between the two is not effort — it is structure. A trail that can be edited after the fact, reconstructed from memory, or vouched for only by the person who created it is not evidence. It is a story. This guide sets out what makes a comp-approval audit trail defensible, why the usual approach fails, and how CompWarden's AEGIS platform builds one that holds.

What "defensible" actually means

A defensible audit trail records five things for every comp decision, without exception: who requested it, who approved it, under what authority they approved it, when — and, crucially, proof that the record itself has not been altered since.

The first four are bookkeeping; most systems manage some version of them. The fifth is what separates a record from a provable record. Anyone can produce a log. The question an auditor asks is not "what does the log say" but "how do I know nobody changed it after the decision was made." If the answer depends on trusting the operator, the trail is not defensible — it is merely presentable.

Why typical audit trails fail

Most comp audit trails share the same weaknesses, and they surface at the worst possible moment:

Any one of these is enough to turn a routine review into a finding. Together, they are why "we have an audit trail" so rarely survives contact with an actual auditor.

The two-layer approach

Defensibility comes from making the record impossible to change quietly — and AEGIS does this in four layers.

Layer one: hash-chained events. Every event is hash-chained inside the operational database. Each record incorporates the fingerprint of the one before it, so the entries form a single continuous chain. Alter any event after the fact — a dollar figure, an approver, a timestamp — and the chain breaks at that point and stays broken. Tampering does not hide; it announces itself.

Layer two: anchored into immudb. Events are also anchored into immudb, an open-source, cryptographically verifiable store kept apart from the operational database. This matters because layer one still lives inside your own system. Layer two keeps a second copy of the proof in a separate store — so an operator, an administrator, or an attacker with full access to the operational database cannot rewrite history without the mismatch showing.

Layer three: signed by outside authorities. Both of those layers run on infrastructure we operate, so someone who controlled the database and immudb together could in principle rewrite both. At least hourly, AEGIS therefore sends the 32-byte fingerprint of the chain's head (nothing else) to independent public time-stamping authorities, DigiCert and Sectigo, which sign it with keys we never hold. The signed answers are stored whole and can be checked with standard tools such as OpenSSL. Anything older than the latest stamp cannot be changed without a signed witness contradicting it. The honest limit: events since the latest stamp, at most an hour's worth, are not yet covered.

Layer four: signed by the platform. A hash chain shows an event sits where it was written, but anyone able to write to the database can recompute a chain. So every audit event, every decision included, is also signed with an Ed25519 key that lives outside the database, in a file mounted into a single service. Someone who can only read or write the database cannot forge a signature. The honest limits: the key sits on our server, not in a hardware module, so someone with root on that server could sign events that never happened from then on (events already covered by an outside timestamp stay protected); and signing follows an event by about half a minute. The public key is written onto the chain itself, so the outside timestamps cover it and it cannot be swapped quietly. Any decision can be exported as a signed receipt, and checked offline with aegis receipt verify or a short standalone script, against a key id the operator publishes. Key ids: 48822470c47c7c6a (primary site), ed3e1f45a0536ebe (standby site).

A log tells you what someone typed. A hash-chained, ledger-anchored record proves nobody has touched it since. Only the second one is evidence.

Every decision carries its own proof

A defensible trail is not just tamper-evident in aggregate — each decision stands on its own. Every sealed comp decision in AEGIS carries its ledger anchor and the exact matrix version in force when it was made — recorded in a single line such as ledger 0x9f2a…c41b · matrix v4.2 · sealed.

That pairing is what makes the record re-runnable. Because the delegation-of-authority matrix is versioned data, not code, you can re-run a past decision through the engine on the exact matrix version and org snapshot recorded with it — not today's rules, the ones that actually applied. For decisions made since 12 October 2026 the inputs the engine was handed are kept too, and the ledger holds a digest of them; earlier decisions are reconstructed and labelled as such. You can reconstruct the organisation as it existed on any given date: who held which limit, which policy was live, what "authorised" meant that week. A trail you can re-run is a trail you can defend line by line.

Handing the record to a regulator

The strongest audit trail is one the auditor can interrogate without going through you. AEGIS provides a regulator self-serve portal that queries the tamper-evident ledger directly — by date, event type, subject, comp type, outcome, patron tier, approver and amount. The portal is read-only, every export is itself written to the ledger, and one button press recomputes the hash chain and cross-checks it against the second ledger to show the record has not been altered.

This changes the shape of an audit. Instead of your team spending weeks assembling a narrative and asking the regulator to trust it, the regulator queries the ledger themselves and verifies its integrity with one click. The burden of proof moves off your people and onto mathematics — which is exactly where a defensible trail should keep it.

What defensible looks like, side by side

 Typical audit trailDefensible trail (AEGIS)
Who / who / what authority / whenPartial, often reconstructedCaptured at decision time
Can records be changed silentlyYes — mutable rowsNo — hash-chained
Proof against a compromised platformNoneAnchored in immudb
Re-run against the rules in forceNoYes — versioned matrix
Regulator can verify independentlyNoYes — self-serve portal

Where to start

Building a defensible trail is not a documentation exercise — it is a change in how approvals are captured and sealed. The prerequisite is a governed approval path: comps checked against a delegation-of-authority matrix in real time, so that the thing you are sealing is a genuine authority decision rather than an after-the-fact note. Two related guides go deeper on that foundation: comp authorization vs. player-comp systems, and the delegation-of-authority matrix for casino comps. Get the approval governed, and the audit trail becomes a by-product — sealed, re-runnable, and yours to defend.

Frequently asked questions

What makes a comp-approval audit trail defensible?

A defensible trail records who requested, who approved, under what authority, and when — and pairs that record with proof it has not been altered. Without tamper-evidence, an audit trail is just a claim; anyone with database access could have rewritten it. Defensibility is the difference between a record and a provable record.

Why do most audit trails fail an audit?

Most trails are mutable database rows reconstructed weeks after the fact, dependent on individual judgment and goodwill, with no proof against tampering. They can tell you what someone typed; they cannot prove nobody changed it since. That is where they fall apart under Finance, Audit, or a regulator.

How does immudb make the record tamper-evident?

AEGIS anchors every event into immudb, an open-source cryptographically verifiable store kept apart from the operational database. Combined with hash-chaining inside the operational database, this means even someone with full access to the operational database cannot rewrite history undetected — any alteration breaks the chain or the anchor, and shows. Independent time-stamping authorities also sign the head of the chain at least hourly, so even someone who controlled both stores could not change anything older than the latest stamp undetected.

Can regulators query the audit trail directly?

Yes. AEGIS provides a regulator self-serve portal to query the tamper-evident ledger by date, event type, subject, comp type, outcome, patron tier, approver and amount. The portal is read-only, and one button press recomputes the hash chain and cross-checks it against the second ledger and the outside timestamps to show the record has not been altered.

See a sealed comp decision, verified

Watch AEGIS govern a comp, seal it to the tamper-evident ledger, and prove the record is unaltered — in one click.

Book a demo →