An allowed write: a month-end journal entry
A named approver commits a month-end journal entry.
View the full recordSpecimen
This illustrative specimen shows a journal entry an AI agent made in a small firm's ERPNext books, as the firm's chartered accountant reads it in the elan1 Work CA console. It shows what changed, which rules ran, who approved and how the entry links to the record before. The firm and data are fictional.
elan1 Work for small firms. An agent posts a journal entry for Kolam Components* under the ledger1 GL posting declaration, within its declared autonomy. The firm's CA reads the record in the CA console.
Illustrative specimenIllustrative specimen. Not customer data.
Kolam Components* is a Coimbatore distributor. *Fictional company; all data is illustrative.
Published by elan1.
01The record
Plain English for the meaning, the fields for the record, JSON for your tools, and the chain for how it links to its neighbours.
Illustrative specimenIllustrative specimen. Not customer data.
Record 48,213 in this tenant's chain. An agent proposed posting a journal entry under declaration ledger1 GL posting, version 7, and policy version 12, at autonomy level A1. The entry was written as record JE-specimen-0193, version 1. Its payload and vocabulary are hashed, and it points to the previous record by digest.
Because A1 is within the ceiling the declaration sets for this write type, no person had to approve it. Had the entry crossed the ceiling, it would have waited for a named approver who is not the asker.
In the CA console, the firm's chartered accountant sees what changed, who proposed it, the rules that applied and the line "Checked and recorded by elan1 Govern" — across every client.
Checked and recorded by elan1 Govern.
{
"_label": "Illustrative specimen. Not customer data.",
"tenant_id": "tnt_specimen_01",
"seq": 48213,
"prev_digest": "sha256:7c41…a9e2",
"write_id": "wr_specimen_7Q2M",
"write_type": "journal_entry.post",
"declaration_id": "decl.ledger1.gl_posting",
"declaration_version": 7,
"policy_version": "12",
"actor_id": "agt_specimen_ap01",
"actor_kind": "agent",
"autonomy_level": "A1",
"record_id": "JE-specimen-0193",
"record_version": 1,
"payload_hash": "sha256:e09b…41cd",
"lexicon_hash": "sha256:3a6f…0b17",
"recorded_at": "2027-07-14T10:42:07+05:30",
"verdict": "committed"
}Each record’s F03 prev_digest is the digest of the record before it, and seq goes up by exactly one. Change or remove a record and the next link no longer matches. That is what tamper-evident means at L1.
02The path it took
Every write takes the same route. Any rung can refuse; a refusal stops the climb and still writes a record.
03Field notes
F01 tenant_id to F16 recorded_at. The values are invented; the field names come from Seal v6.
| Field | Name | Value in this specimen | What it tells you |
|---|---|---|---|
| F01 | tenant_id | tnt_ | The tenant this record belongs to. Chains never cross tenants. |
| F02 | seq | 48213 | The record's position in this tenant's chain. It only ever goes up by one. |
| F03 | prev_digest | sha256: | The digest of the record before this one. It is what links the chain. |
| F04 | write_id | wr_ | The identifier of the write intent. Every invoice line must carry one. |
| F05 | write_type | journal_ | The kind of write, from the declaration's list of allowed write types. |
| F06 | declaration_id | decl. | The declaration — the process's rules in seven blocks — that was checked. |
| F07 | declaration_version | 7 | Which version of that declaration was in force at the time. |
| F08 | policy_version | 12 | The version of the policy rules evaluate() ran. No model, only rules. |
| F09 | actor_id | agt_ | Who acted: the named approver, or the agent that proposed the write. |
| F10 | actor_kind | agent | Whether the actor was a human or an agent. |
| F11 | autonomy_level | A1 | The autonomy level A0–A5 the write ran at; above the ceiling a person decides. |
| F12 | record_id | JE-specimen-0193 | The record in your system of record that changed, or would have. |
| F13 | record_version | 1 | The version of that record after the write. |
| F14 | payload_hash | sha256: | A hash of the payload, not the payload itself, so personal data stays out of evidence. |
| F15 | lexicon_hash | sha256: | A hash of the vocabulary the write was expressed in, so meanings cannot drift. |
| F16 | recorded_at | 2027-07-14T10: | When the record was sealed, with the time-zone offset. |
04How to verify
At L1, the chain is the check. From L2, signatures and outside timestamps let someone else check it too.
Each record’s F03 prev_digest is the digest of the record before it, and seq goes up by exactly one. Change or remove a record and the next link no longer matches. That is what tamper-evident means at L1.
L1 Guarded · available
Tamper-evident to you; not signed.
L2 Attested · available
Signed and checkable offline, without us.
05Mapped clauses
Each row says what the record supports and what stays with you. No product makes you compliant on its own.
| Framework | Clause | Helps evidence | Not covered |
|---|---|---|---|
| Companies (Accounts) Rules, 2014 | Rule 3(1) | An edit log for the books: each change with its record, version, actor and time. | Edits made outside the governed path, for example directly in another tool. |
| GST | Rate and ITC checks (G4) | The G4 pre-gate ran before the write and is named in the declaration. | Filing, reconciliation with the GST portal, and the return itself. |
| India DPDP Act | Security; minimisation | F14 holds a hash of the payload, so personal data stays out of evidence. | Erasure duties as the Data Fiduciary stay yours; erasure alongside an append-only chain is set out in the library note on DPDP. |
Clause references are our reading of each framework. Not legal advice. elan1 does not make you compliant on its own; see the regulation hubs for what each framework asks.
Where this record comes from
06Other specimens
A named approver commits a month-end journal entry.
View the full recordA GST pre-gate refuses an agent's purchase invoice.
View the full recordA write above the autonomy ceiling waits at rung 6 for a person.
View the full record// SEE IT
The walkthrough follows one write from intent to proof record, step by step, with a refusal branch.