Skip to content

Why a governance tool should cite a file path

An assertion is a sentence. Evidence is something a second person can check without asking you. What an audit trail has to contain, what a hash actually proves, and what to require of any tool that claims to produce one.

Updated · 6 min read

The difference between an assertion and evidence

The dashboard was reviewed. That is an assertion.

This workbook, at this version, differed from the previous version in twenty-four kinds of way, three of which failed; reviewed by this named person on this date; exported as a pack sealed with this hash. That is evidence.

The test between them is one question. Can a second person reach the same conclusion without asking the first person anything. If they have to ask, what you have is a conversation, and conversations do not survive the people who had them.

What an audit trail has to contain

  • Who. A named person wherever a person made the decision, not the service account that carried it out.
  • When. A timestamp from the system, not a date typed into a document afterwards.
  • What. The object, identified specifically enough to find again, by identifier rather than by name alone.
  • What changed. Before and after, or a content hash of each where the content itself is sensitive.
  • The outcome, including the checks that passed. A record of failures alone can never demonstrate coverage.
  • The waiver, if there was one, and the person who granted it.

Two things must never be in it: secrets, and a copy of the data the check happened to read. An audit log that quietly accumulates business data is a new liability wearing a compliance badge, and it will be discovered by somebody who is not on your side.

Why this site cites file paths

This site does something a marketing site usually does not. Claims carry a repository path or a product surface, and every article ends with sources you can open and read for yourself.

The reason is the audience. A governance product is bought by people whose profession is not taking claims on trust, and a claim with a path attached invites verification. Inviting verification is the strongest available signal that verification will not be embarrassing.

It also disciplines the writing, in a way that is uncomfortable and useful. Five capabilities were offered for this site as differentiators and were audited against source before anything was printed. None of them survived the audit, and two were contradicted outright by the shipping code. They are now banned across every page by a test, not by good intentions, and the register of why is kept in the repository. The discipline turned out to matter far more than the five sentences.

Sealing, and what a hash actually proves

A SHA-256 seal over an exported pack proves exactly one thing: the bytes you are holding are the bytes that were sealed. It does not prove the contents are true. A tool that implies otherwise is selling you something.

What it removes is one specific argument, whether the file was edited between the export and the review. Removing that argument is worth a great deal in an audit, and it is worth nothing at all in a discussion about whether the check was the right check.

The stronger form is a chain. Each entry hashes its own content together with the previous entry hash. A deleted or altered row breaks the chain from that point forward, and verification names the first bad row. Using plain SHA-256 with no secret key is the part that matters for an auditor: they can re-verify the export with their own tools instead of taking ours.

Reproducible beats impressive

An evidence pack should be byte-reproducible. Run it twice against the same input and get the same bytes. That sounds academic until somebody asks you to re-run a report from six months ago and compare.

It also constrains the design in useful ways. It rules out timestamps scattered through the content, unstable ordering, and anything derived from a model that might answer differently tomorrow.

Which is another way of stating a rule worth keeping: the deterministic engine is the one that can produce evidence. An AI-assisted pass produces a draft, and a draft is a fine thing to have, as long as nobody files it as proof.

Evidence has to be able to leave

Evidence that exists only inside the product that produced it is not evidence, it is a screen. The question to ask is what it exports, and in what shape.

  • A tabular format a person can open, and a machine format a scanner can ingest.
  • Machine-readable and human-readable renderings generated from one record. The two cannot drift apart and disagree in front of an auditor.
  • Something a person with no login can open, because governance conversations involve people who will never have one.

On the security side the tagging has to travel with the finding. A finding mapped to a CIS Controls v8.1 safeguard and a NIST CSF 2.0 function should carry that mapping identically into the CSV, the SARIF export, the PDF and the interface. A mapping that renders only in a web page never reaches the scanner that would have used it. It was decoration.

Mapped audit evidence is a useful thing to produce, and it is not a certification of compliance. Any tool that blurs those two is doing you harm at the exact moment you most need clarity.

What to require of any tool claiming an audit trail

  1. Show me a real exported record, not a screenshot of one.
  2. Show me where a waiver appears in it, and who is recorded as granting it.
  3. Show me what it stores about a query the AI ran, and what it deliberately does not store.
  4. Tell me what happens to the record when the tool is removed.

The fourth sorts products quickly. If the record leaves with the tool, then what was bought was a dashboard about governance, not governance itself.

Saying what was not measured

The most useful line in most reports is the one describing what was not covered. What was not measured should be reported as not measured, never quietly filled in with a plausible number.

A report with gaps you can see is worth more than a complete-looking report you cannot check, because you can act on the first one this week.

And an empty findings list is a good result, which is only true when the same tool would have told you plainly if the check had not run at all. Evidence is what remains useful when the person who produced it is unavailable.