Two formats, one source of truth
Every session report is generated as two consistent artifacts derived from the same event chain:Masker Audit Schema v1 JSON
Machine-checkable. Used for automated compliance pipelines, programmatic verification, and integration with your SIEM or GRC tooling.
Auditor-ready HIPAA PDF
Human-readable. Structured for security reviewers, privacy counsel, and external auditors. Self-contained — no external links required to interpret it.
merkle_root_hex. This is how you prove to an auditor that the PDF and the JSON describe the exact same event chain — the root hash is the cryptographic binding between them.
What the report contains
The PDF and JSON report surfaces the following sections, in this order:The audit chain structure
Masker writes every detection event to an HMAC-chained, append-only journal:seq— monotonically increasing sequence numberkind— event type (detection,redaction_applied, etc.)detector— which detector fired (e.g.,ssn_v1,usphone_v2)placeholder— the token assigned to this PHI spanprev_hash— SHA-256 hash of the previous event, linking it into the chaincurr_hash— SHA-256 hash of this event’s content combined withprev_hashts— ISO 8601 timestamp
Fail-closed guarantee
If the journal append fails at any point, Masker returnsAuditUnavailable and stops processing the request. There are no quiet drops. You will always know when the chain cannot be extended.
How to download your report
1
Open the Reports tab
In the Masker portal, navigate to the session you want to report on and click the Reports tab.
2
Select a format
Choose Download PDF for the auditor-ready report or Download JSON for the machine-readable Masker Audit Schema v1 record. Both are available from the same one-click interface.
3
Verify the merkle_root_hex
Both downloads display the same
merkle_root_hex. Confirm they match before sending to an auditor — this proves the PDF and JSON describe the same chain.Verifying chain integrity
There are three levels of verification, from quickest to most rigorous.Level 1 — visual review
Level 1 — visual review
Open the PDF. Check the Safe Harbor coverage table, redaction counts, and sample masked transcripts. This is what most stakeholders do for routine review.
Level 2 — root hash check via the portal
Level 2 — root hash check via the portal
Every report includes the audit root hash for the start and end of its window. In the portal, navigate to Audit log → Verify hash and paste the hash. Masker re-walks the chain and confirms the count and integrity. This is the screenshot you send an auditor for a quick proof.You can also call the API directly:The response is:The literal string
"chain ok" in the message field is the programmatic signal that the chain is intact.Level 3 — independent recomputation
Level 3 — independent recomputation
For an external auditor who needs to verify without trusting Masker’s infrastructure: request the audit key (provided under a separate signed envelope) and the raw JSONL event log for the session. The auditor can recompute the HMAC-SHA256 chain from scratch using any standard implementation.The
masker audit verify command in the public repository performs this recomputation and can be run offline:Honest limits
- Reports can only show what was logged. If
audit.log_eventsis disabled (it should not be), the chain has gaps and the report says so explicitly. - Reports cannot verify upstream behavior. Masker proves what it sent to your LLM provider; it cannot prove what that provider did with it. The LLM provider’s own BAA and SOC 2 cover that leg.
- The configuration snapshot in a report reflects the active policy at generation time, not at the time of every individual call within the window. The raw audit log itself records the policy version on every event.