For regulators & examiners

Examiner Reference

This reference is written for regulators, bank examiners, and auditors who are reviewing a Chandra-backed audit trail. No prior knowledge of Chandra is required. Every term is defined. Every verification step is explicit.

For examiner inquiries that cannot be resolved through this document, contact General Reasoning directly: inquiries@genreason.com. We respond to examiner inquiries within one business day.

Contents
  1. What Chandra is
  2. The audit record
  3. Verifying a GABA cert
  4. Verifying chain integrity
  5. Reading a context unit
  6. Tracing an audit opinion to work papers
  7. General Reasoning compliance posture
  8. Glossary
  9. Contact

1. What Chandra is

Chandra is an open protocol for producing append-only, cryptographically sealed, attributed audit records. It was designed by General Reasoning, Inc. and is published under the MIT License.

The core principle: every act — every human decision, every automated action, every agent operation — produces an audit record at the moment it occurs. That record is immutable. It is linked to its predecessor by a cryptographic hash. The chain of records cannot be altered without breaking the hash link, which is immediately detectable.

The result is an audit trail that is not a retrospective reconstruction. It is the simultaneous product of the work itself. There is no gap between act and record because the record is the act.

Chandra is used by organizations subject to regulatory oversight to produce compliance-grade audit trails for operational, financial, and AI-governed processes. It is also used by auditors as the governed work paper infrastructure for attestation engagements.

The record is not a receipt. It is produced simultaneously with the act it records.

2. The audit record

In Chandra, the atomic audit record is called a context unit (CU). Every CU contains:

Required fields on every CU

cu_id Unique identifier for this record subject_id What entity this record belongs to predecessor_id Identifier of the prior record in this chain prev_hash Cryptographic hash of the prior record published_at Unix timestamp of record creation human_author Identity of the human principal responsible agent_id Identity of the agent, if any automated action was involved event_type What occurred (e.g. "ledger.entry.updated", "role.assigned") artifact The payload — the actual content of the event

Chain structure

Every CU references its predecessor by id and by hash. The chain is verified by computing the hash of each CU and comparing it to the value stored in the successor's prev_hash field. A mismatch at any point in the chain indicates tampering or corruption. A broken chain halts new appends — no new records can be added to a compromised chain.

Each auditable entity — a ledger entry, a user account, a policy record, an AI agent action — has its own independent chain called a spoke. Spokes are independent. A compromise of one spoke does not affect others.


3. Verifying a GABA cert

A GABA cert (Governed AI Boundary Attestation) is the credential that attests a deployment's governance posture. It is issued by General Reasoning through gr-identity, the identity and governance platform that connects to chandrahub.net.

A GABA cert contains:

cert_id Unique identifier for this cert tenant_id The organization this cert was issued to issued_at Timestamp of issuance compliance_profile The regulatory framework attested (e.g. SOC 2 Type II, HIPAA) permitted_tiers Which agent tiers are authorized under this deployment issuance_cu_id The context unit that authorized cert issuance forest_authority chandrahub.net

How to verify

1
Obtain the cert id from the organization under examination.

The organization should be able to provide their GABA cert id from their gr-identity console. It is a UUID in standard format.

2
Call the GABA cert verification endpoint.

Send a GET request to the chandrahub verification API with the cert id. No authentication required for examiner verification calls.

GET https://chandrahub.net/api/v1/cert/verify/{cert_id}
3
Review the response.

The response confirms: cert status (active, revoked, superseded), issuing authority, compliance profile, issuance timestamp, and the CU id of the issuance record. A revoked cert indicates the deployment's governance posture has changed and a new cert should be requested.

4
Verify the issuance CU.

The issuance_cu_id in the cert response links to the context unit that authorized the cert. This CU is on the organization's Chandra chain and is independently verifiable. See Section 5 for how to read a CU.


4. Verifying chain integrity

Chain integrity verification confirms that a spoke's audit trail has not been altered since the records were written. This is the primary verification act for examining a Chandra-backed audit trail.

How to verify

1
Obtain the spoke address.

The spoke address is the unique identifier for the auditable entity under examination. For a specific record (e.g. a ledger entry, a user account), the organization can provide the spoke address from their gr-identity console or from the chandra_record_id column in their database.

2
Call the chain integrity endpoint.
GET https://chandrahub.net/api/v1/spoke/{spoke_id}/integrity

Returns: genesis CU id, current tail CU id, CU count, last append timestamp, integrity status (intact / compromised / gap detected), and any integrity alerts.

3
Review integrity status.

intact — chain is complete, hashes verify, no gaps. compromised — hash mismatch detected at a specific CU. gap_detected — one or more CUs are missing from the sequence. Any status other than intact requires escalation to General Reasoning.

4
Request the full lineage if needed.
GET https://chandrahub.net/api/v1/spoke/{spoke_id}/lineage

Returns the complete ordered sequence of CU ids for this spoke, from genesis to current tail. Use this to sample specific records in the chain for detailed examination.


5. Reading a context unit

A context unit is the individual audit record. Examiners may wish to read specific CUs to confirm what occurred, who authorized it, and when.

Retrieving a CU

GET https://chandrahub.net/api/v1/cu/{cu_id}

Example response

{ "cu_id": "a3f7c821-4b2e-4d91-9c88-f1e2a3b4c5d6", "subject_id": "b9d2e441-7f3a-4c12-8e55-d6f7a8b9c0e1", "predecessor_id": "92c1d4e5-3a6b-4f28-ae71-c2d3e4f5a6b7", "prev_hash": "sha256:4f2a1b3c...", "published_at": 1748000000, "human_author": "james.smith@acmecorp.com", "agent_id": null, "event_type": "ledger.entry.updated", "artifact": { "amount": 5000.00, "currency": "USD", "memo": "Revised payment terms", "changed_by": "james.smith@acmecorp.com", "changed_at": 1748000000 } }

Reading the fields

cu_id — the unique identifier for this record. Cite this id in examination findings when referencing a specific audit event.

subject_id — the entity this record belongs to. All CUs with the same subject_id form one spoke — the complete audit trail for one entity.

predecessor_id / prev_hash — the chain link. predecessor_id is the id of the prior record. prev_hash is the cryptographic hash of that prior record. Verify by computing the hash of the predecessor CU and comparing to prev_hash.

published_at — Unix timestamp. Immutable. Cannot be backdated or edited. The timestamp is set server-side at the moment the record is written.

human_author — the identity of the human principal responsible for this act. Required on every CU. Anonymous records are rejected at the protocol level.

agent_id — the identity of any automated agent involved in this act. Null if the act was performed entirely by a human.

event_type — a structured label describing what occurred. Set by the application at record creation time.

artifact — the payload. The actual content of the event. Format is defined by the application and declared at hub registration time.


6. Tracing an audit opinion to work papers

When Chandra is used as the governed work paper infrastructure for an attestation engagement, the engagement produces a structured audit record: an engagement spoke containing every audit act from acceptance through opinion issuance.

The engagement record structure

Every Chandra-based engagement has an engagement id. The engagement spoke contains, in chronological order: acceptance CU, planning CUs, fieldwork CUs (one per audit procedure performed), finding CUs (one per identified exception or observation), and the opinion CU as the terminal record.

Retrieving an engagement record

GET https://chandrahub.net/api/v1/engagement/{engagement_id}

Returns: engagement type, auditee organization, applicable standard, scope declaration, status, acceptance timestamp, acceptance CU id, opinion CU id (if opinion has been issued), and CU count.

Retrieving the opinion CU

GET https://chandrahub.net/api/v1/cu/{opinion_cu_id}

The opinion CU artifact contains the full text of the audit opinion, the name and credential of the issuing auditor, and references to the specific finding CUs that support the opinion. Each finding CU references the evidence CUs — the specific records examined — that support the finding.

Tracing from opinion to evidence

1
Retrieve the opinion CU.

The opinion CU artifact lists finding_cu_ids — the specific findings that informed the opinion.

2
Retrieve each finding CU.

Each finding CU artifact contains the finding type, severity, description, and evidence_cu_ids — the specific records examined as evidence for that finding.

3
Retrieve evidence CUs.

Each evidence CU is a record in the auditee's chain. It is immutable. It was written at the time of the act it records. The hash chain confirms it has not been altered since.

The opinion, the findings, and the evidence are all on the chain. Nothing is reconstructed after the fact.

7. General Reasoning compliance posture

General Reasoning, Inc. is the issuing authority for GABA certs and the operator of chandrahub.net. Our compliance posture is the terminal trust anchor for the Chandra ecosystem.

Current compliance status and scope declaration are published at chandrahub.net/docs/compliance. That page is updated whenever our compliance status changes and carries a CU id confirming the update has not been altered.

For examiner inquiries requiring confirmation of our compliance posture, contact us directly. We provide examiner confirmation letters on request.


8. Glossary

Chandra uses specific terminology. The following table maps Chandra terms to standard audit vocabulary.

Context Unit (CU)
Chandra term
Audit record / Transaction record
The atomic, immutable record of a single event
Spoke
Chandra term
Audit trail for one entity
The ordered chain of all CUs for a single subject (account, record, asset)
Hub
Chandra term
Audit trail for one record class
The collection of all spokes for one type of entity (e.g. all ledger entries)
Domain
Chandra term
Audit universe for one organization
All hubs and spokes for one tenant organization
Forest
Chandra term
Governed federation / ecosystem
The collection of all governed deployments connected to chandrahub.net
GABA Cert
Chandra term
Deployment attestation / Compliance credential
Cryptographic attestation of a deployment's governance posture
Cleared-to-Operate Cert
Chandra term
Integration compliance certification
Attestation that an external application's Chandra integration is verified and live
Genesis CU
Chandra term
Record inception / Opening entry
The first CU in a spoke chain — the record of the entity's creation
Tail CU
Chandra term
Current record state / Latest entry
The most recent CU in a spoke chain — the current state of the entity
Prev hash
Chandra term
Chain seal / Integrity link
Cryptographic hash of the prior record; tampering breaks this link detectably
Human author
Chandra term
Responsible party / Preparer
The identified human principal responsible for the act recorded in this CU
Agent
Chandra term
Automated system / AI participant
A governed automated process that acts on behalf of a human principal
Engagement spoke
Chandra term
Audit work paper file
The chain of all CUs for one audit engagement, from acceptance to opinion
Opinion CU
Chandra term
Audit opinion / Report issuance
The terminal CU in an engagement spoke carrying the auditor's opinion
gr-identity
Chandra term
Identity and access management system
General Reasoning's platform for principal management, role assignment, and GABA cert issuance

9. Contact

General Reasoning, Inc. welcomes examiner inquiries. We do not require advance notice and we respond within one business day.

Examiner inquiries: inquiries@genreason.com

Urgent matters: Note "EXAMINER — URGENT" in the subject line for same-day response.

Mailing address: General Reasoning, Inc., Birmingham, Alabama, United States

We provide on request: confirmation letters for examiner files, compliance posture documentation, engagement record exports in standard formats, and technical briefings for examination teams unfamiliar with Chandra.


Chandrahub.net · General Reasoning, Inc. · Birmingham, Alabama · 2026
Compliance posture · Published standards · Examiner inquiries
Page integrity: Pending chandrapassport deployment — CU verification active post-launch.