Deterministic recording pipeline
Entries move through canonicalization, payload hashing, chain hashing, and persistence in a fixed order so integrity checks are repeatable.
Tamper-evident audit logging for Laravel
Verifiable audit trails for Laravel applications
Chronicle records immutable audit entries, chains them together with deterministic hashes, and gives you verification, checkpoints, and export tooling built for real operational review.
use Chronicle\Facades\Chronicle;
Chronicle::record()
->actor($user)
->action('order.created')
->subject($order)
->metadata([
'total' => 14900,
'currency' => 'EUR',
])
->tags(['orders', 'checkout'])
->commit();Entries are immutable after insert and cannot be updated or deleted.
Every entry is linked to the previous chain head for tamper detection.
Run integrity checks, create checkpoints, and verify signed exports.
Why teams use it
Entries move through canonicalization, payload hashing, chain hashing, and persistence in a fixed order so integrity checks are repeatable.
Query by actor, subject, action, tag, correlation, or time range with model scopes or the built-in ledger reader.
Verify the ledger, create checkpoints, export datasets, and verify those exports independently from the source system.
Core workflow
Create entries with `Chronicle::record()` and add metadata, context, tags, and diffs.
Use checkpoints to sign the current chain head and establish a trusted ledger state.
Run verification commands or export the dataset for external review and signature checks.
Get started