# chronicle v0.1.0 - Table of Contents

> Tamper-evident audit facts and restorable Ecto record versions

## Pages

- [Chronicle](readme.md)
- [Changelog](changelog.md)

## Modules

- [Chronicle](Chronicle.md): Tamper-evident audit facts and restorable Ecto record versions.
- [Chronicle.Canonical](Chronicle.Canonical.md): Versioned, deterministic encoding for integrity-protected audit data.
- [Chronicle.CheckpointStore](Chronicle.CheckpointStore.md): Persistence boundary for independently anchored verification checkpoints.
- [Chronicle.CheckpointStore.Memory](Chronicle.CheckpointStore.Memory.md): In-memory checkpoint store for tests and local development.
- [Chronicle.Classifier](Chronicle.Classifier.md): Built-in result-to-audit-outcome classifiers.
- [Chronicle.Config](Chronicle.Config.md): Resolves named audit stores.

- [Chronicle.Context](Chronicle.Context.md): Carries audit identity and correlation data through the current process.
- [Chronicle.Ecto](Chronicle.Ecto.md): Low-level conversion of completed Ecto operations into version events.
- [Chronicle.Ecto.Integrity](Chronicle.Ecto.Integrity.md): Verifies the Ecto audit ledger and returns an anchorable checkpoint.
- [Chronicle.Ecto.Migration](Chronicle.Ecto.Migration.md): Reusable Ecto migration for the default audit store.
- [Chronicle.Ecto.Policy](Chronicle.Ecto.Policy.md): Schema-local change selection and protection policy.
- [Chronicle.Event](Chronicle.Event.md): A single immutable audit fact.
- [Chronicle.Group](Chronicle.Group.md): The durable envelope for a larger audited unit of work.
- [Chronicle.Health](Chronicle.Health.md): On-demand operational health for one named audit store.
- [Chronicle.Identity](Chronicle.Identity.md): Converts domain values into small, stable audit references.
- [Chronicle.Integrity](Chronicle.Integrity.md): Hash-chain and HMAC primitives for tamper-evident audit ledgers.
- [Chronicle.Integrity.Checkpoint](Chronicle.Integrity.Checkpoint.md): A ledger position suitable for anchoring outside the audit database.
- [Chronicle.Integrity.Entry](Chronicle.Integrity.Entry.md): Cryptographic commitment to one append-only audit ledger unit.
- [Chronicle.Key](Chronicle.Key.md): A signing key descriptor with an explicit ledger sequence epoch.
- [Chronicle.Keyring](Chronicle.Keyring.md): Behaviour and dispatcher for versioned audit signing keys.
- [Chronicle.Keyring.Config](Chronicle.Keyring.Config.md): Keyring backed by the audit store's integrity keyword configuration.
- [Chronicle.Keys](Chronicle.Keys.md): Reports the signing keys required to verify a named audit store.
- [Chronicle.Multi](Chronicle.Multi.md): Audited operations for an ordinary `Ecto.Multi`.
- [Chronicle.Oban](Chronicle.Oban.md): Propagates audit context through Oban-compatible job arguments.
- [Chronicle.Phoenix](Chronicle.Phoenix.md): Builds audit context from a `Plug.Conn`.
- [Chronicle.Phoenix.Plug](Chronicle.Phoenix.Plug.md): Adds request, actor, and correlation information to `Chronicle.Context`.
- [Chronicle.Provider](Chronicle.Provider.md): Behaviour implemented by audit storage providers.
- [Chronicle.Provider.Ecto](Chronicle.Provider.Ecto.md): Stores audit groups and events in an Ecto repository.
- [Chronicle.Provider.Memory](Chronicle.Provider.Memory.md): An in-memory provider intended for tests and local development.

- [Chronicle.Query](Chronicle.Query.md): Read API for Ecto-backed audit timelines.
- [Chronicle.Query.Item](Chronicle.Query.Item.md): A tagged event or group returned by `Chronicle.Query.timeline/2`.
- [Chronicle.Query.Page](Chronicle.Query.Page.md): One stable, cursor-addressed page of audit timeline items.

- [Chronicle.Redaction](Chronicle.Redaction.md): Central protection policy for event data and Ecto record snapshots.
- [Chronicle.Redaction.Policy](Chronicle.Redaction.Policy.md): A resolved protection policy.
- [Chronicle.Schema](Chronicle.Schema.md): Optional audit policy for an Ecto schema.
- [Chronicle.Sensitive](Chronicle.Sensitive.md): Explicit marker returned by `Chronicle.secret/1`, `Chronicle.hash/1`, and
`Chronicle.omit/0`.
- [Chronicle.Store](Chronicle.Store.md): Resolved configuration for a named audit destination.

- [Chronicle.Task](Chronicle.Task.md): `Task` helpers that propagate the current audit context and active group.
- [Chronicle.Test](Chronicle.Test.md): Lightweight capture and inspection helpers for application tests.
- [Chronicle.Verifier](Chronicle.Verifier.md): Periodically verifies a named store against independently persisted anchors.
- [Chronicle.Version](Chronicle.Version.md): One immutable, signed version of an Ecto record.

- Exceptions
  - [Chronicle.Error](Chronicle.Error.md): Stable, structured error returned by the ergonomic audit APIs.
  - [Chronicle.IntegrityError](Chronicle.IntegrityError.md)

## Mix Tasks

- [mix chronicle.doctor](Mix.Tasks.Chronicle.Doctor.md): Starts the application and checks a configured named audit store.
- [mix chronicle.install](Mix.Tasks.Chronicle.Install.md): Generates a host migration and `config/audit.runtime.exs.example`.
- [mix chronicle.keys.rotate](Mix.Tasks.Chronicle.Keys.Rotate.md): Verifies the complete named store and generates replacement key material.
By default it does not mutate the ledger, configuration, or a secret manager.

