Chio/Docs
LOGIN · JOIN

HITRUST i1 Readiness Package

Find the Chio record behind each HITRUST i1 control family, the duty the operator keeps, and the package an assessor verifies offline.

Reference chio@5f63e6e

On this page

An i1 assessment under HITRUST CSF v11.7 asks a healthcare operator to show that each control family operates in the environment it scoped. For one such deployment, Chio supplies signed records of every kernel decision on a governed call, plus its own release and proof evidence, and an assessor verifies them offline.

Mapped against the HITRUST i1 assessment, reviewed 10 September 2026. Chio supplies readiness materials and technical evidence for an assessment scope the operator selects. Control selection and the assessment version belong to the operator's MyCSF object.

Each row reads requirement, technical contribution, operator action, evidence. A signature proves who signed and binds the recorded content; the truth of a business claim and the completion of an organizational process stay with the operator. Build and verify an evidence package.

Clause coverageSelect a clause to see the record that answers it.
HITRUST i1Chio controlsKept by the operatorAccess ControlAsset ManagementSystems DevelopmentOperations ManagementIncident ManagementPrivacy PracticesSecurity ProgramHuman Resources SecurityPhysical and EnvironmentalBusiness ContinuityκcapabilityxrevocationσDPoP⊥stopλdata guards⊢proofsρreceiptχcheckpointEexportβreleasehoperator
HITRUST i1Chio controlsKept by the operatoraccessassetsdevelopmentoperationsincidentsprivacyprogramHRphysicalcontinuityκcapabilityxrevocationσDPoP⊥stopλdata guards⊢proofsρreceiptχcheckpointEexportβreleasehoperator

Access Control

Evidence CapabilityToken and Apalache invariants · owned by the Chio kernel

Access is limited to authorized users and processes. Capability attenuation, revocation, and sender constraints enforce it, checked by the formal proofs. Answered by the capability token, revocation, DPoP binding, and formal checks.

Operator. Run the quarterly access review of operator, capability-admin, and audit-log-export roles.

Read the mapping in HITRUST i1.

HITRUST control families joined to the Chio controls that supply implementation evidence for one scoped deployment, with the families the operator owns. Individual controls in the operator's MyCSF object are left out.

One tenant, one release, and one environment bound the assessment

The package covers a single Chio deployment of the assessed release, serving one healthcare design-partner tenant in one production environment. The boundary names the product and the deployment, so it stays fixed when an assessor engagement begins, whichever tenant identity the engagement records.

  • In scope. The runtime kernel binaries; capability issuance, validation, attenuation, revocation, and sender constraints; guard evaluation and fail-closed behavior; receipt generation, signature, and export under audit-log schema v1; and the build-provenance, SBOM, cargo-vet, CVE-monitoring, threat-model, and formal-invariant evidence in the repository.
  • Excluded. Mobile patient-app surfaces; the AWS Bedrock and MCP marketplace listings; other Chio tenants and releases; other operator systems; and ISO 42001, SOC 2 Type II, and HITRUST r2.

A control claimed against anything outside the boundary has no standing in this package. The full decisions, with the scope-memo preimage, are in scope-boundary.md.

Each control family names its evidence record and its owner

Five families rest on Chio's own code and release evidence: access control, risk management, security policy, asset management, and development assurance. Access control adds the operator's quarterly review. The rest pair a Chio record with an operating cadence, a contract, or a provider attestation the operator holds.

FamilyChio controlEvidence recordOwner
Access Control
Capability token, revocation, DPoP binding
CapabilityToken, Apalache invariants
Chio and operator
Risk Management
Threat model and coverage table
chio-threat-model.v1.json
Chio
Security Policy
Security policy corpus
spec/SECURITY.md
Chio
Asset Management
SBOM, cargo-vet, CVE monitoring
SLSA provenance and SBOM
Chio
Systems Acquisition, Development, and Maintenance
Reproducible build, SLSA, formal checks
SLSA provenance, Apalache invariants
Chio
Information Security Management Program
Governance documents
Security review records
Chio and operator
Organization of Information Security
Evidence ownership files
Operating-role records
Chio and operator
Compliance
System security plan, scope boundary
Assessor engagement record
Chio and operator
Communications and Operations Management
Signed receipts, checkpoints, export
chio evidence export --require-proofs
Chio and operator
Incident Management
Revocation, emergency stop, evidence export
Evidence package, chio emergency-stop
Chio and operator
Privacy Practices
Receipt and log redaction, data guards
QueryResultGuard verdict
Chio and operator
Human Resources Security
Operator record
HR policy and training records
Operator
Physical and Environmental Security
Operator record
Provider attestation reference
Operator
Business Continuity Management
Operator record
Disaster-recovery record
Operator

Access control is enforced in the kernel: capability attenuation, revocation, and sender constraints run in evaluate.rs before any governed call dispatches. Incident containment uses the same mechanisms, with chio emergency-stop refusing every governed call until an operator resumes the kernel.

Evidence sources by family
  • Access Control. crates/kernel/chio-kernel-core/src/evaluate.rs and crates/core/chio-core-types/src/capability/, checked by the formal proofs that formal/MAPPING.md lists.
  • Risk Management. spec/security/chio-threat-model.v1.json and the coverage table at docs/security/threat-coverage.md.
  • Security Policy. spec/SECURITY.md and the docs/security/ corpus.
  • Asset Management. supply-chain/audits.toml, supply-chain/imports.lock, .github/workflows/sbom.yml, and .github/workflows/cve-monitor.yml.
  • Systems Acquisition, Development, and Maintenance. .github/workflows/reproducible-build.yml, .github/workflows/slsa.yml, formal/MAPPING.md, and formal/proof-manifest.toml.
  • Information Security Management Program. Governance in spec/SECURITY.md and formal/OWNERS.md; the operator runs the formal security-review cadence.
  • Organization of Information Security. Ownership of formal evidence in formal/OWNERS.md and fuzz/owners.toml; the operator keeps the broader operating-role evidence.
  • Compliance. ssp.md and scope-boundary.md, the self-assessment material an external assessor starts from.
  • Communications and Operations Management. Audit-log schema spec/audit-log/export-schema.v1.json, CI at .github/workflows/ci.yml, and the receipt pipeline in crates/kernel/chio-kernel/src/receipt_store.rs.
  • Incident Management. compliance/hitrust/ir-runbook.md.
  • Privacy Practices. Receipt and log redaction in crates/observability/chio-log-redact/src/lib.rs and the de-identification posture at compliance/hitrust/policies/de-identification.md.
  • Human Resources, Physical and Environmental, Business Continuity. Out-of-tree records the operator holds: workforce policy and training, cloud-provider inheritance, and design-partner disaster recovery.

Four model-checked invariants back the access and audit rows

The audit-integrity and access-control rows cite bounded checks over trust-boundary properties in the formal/ tree. Each check covers its model, and formal/MAPPING.md links every invariant to the Rust call site it constrains.

  • MonotoneLogApalache: receipt-log state only advances, and committed entries stay in the log. Supports audit controls, integrity, and operations.
  • RevocationCutCompleteness: a revocation cut removes future authority for revoked grants within the modeled boundary. Supports access control and incident containment.
  • ReceiptBeforeAllow: a modeled allow decision has receipt evidence before the operation counts as complete. Supports audit controls and compliance evidence.
  • KernelTransitionCancelSafe: a canceled kernel transition leaves no allowed tool call without the modeled checks. Supports fail-closed operations and development assurance.

The specs, configurations, and run records live in formal/, and CI runs the model checker through .github/workflows/apalache-safety.yml and .github/workflows/apalache-temporal.yml. The bridge narrative in narratives/ maps each invariant to the HITRUST concern it supports.

Read more in Formal Assurance, which carries the theorem inventory and the assurance pipeline.

Recorded evidence stays outside the PHI boundary

Kernel telemetry for the assessed deployment holds protocol decisions, receipt ids, control ids, hashes, error classes, and timing metadata. Payload content, patient identifiers, and free-text clinical data stay out of it under the de-identification policy, which follows 45 CFR 164.514.

A sample that could cross the PHI boundary appears in the package only as a hash plus a private evidence reference. PHI-bearing samples move through a BAA-approved channel and never through a commit to the repository.

Review evidence comes from one verified package

The complete evidence workflow produces three signed receipts, samples allow and deny decisions from the same recorded window, exports them with checkpoint proofs, and verifies the package. It carries the kernel host, every command, the captured results, and two deliberate refusals.

For a deployment review, substitute its receipt database and the approved tenant and time boundary. Preserve the original package, record the trusted kernel public key through an independent channel, and attach the framework owner, assessment scope, findings, and open work. A passing cryptographic check is one input to that review.

Produce, sample, and export the example receipts

Produce the receipts

Complete the project setup, then run these steps from federation-guide/ in a fresh evidence-run directory. The host and the program ship in the project download.

Terminalbash
cargo run --locked --bin evidence
Output · exit 0
two allowed calls; one out-of-scope denial; handler calls 2
three receipt signatures verified; checkpoint batch size 1
wrote evidence-run/receipts.sqlite3, window.json, and kernel-public-key.txt

Collect samples from the same window

Terminalbash
EVIDENCE_SINCE=$(jq -r .since evidence-run/window.json)
EVIDENCE_UNTIL=$(jq -r .until evidence-run/window.json)
mkdir -p samples
chio receipt list --receipt-db evidence-run/receipts.sqlite3 --admin-all \
  --since "$EVIDENCE_SINCE" --until "$EVIDENCE_UNTIL" \
  --outcome allow --limit 100 > samples/allow.jsonl
chio receipt list --receipt-db evidence-run/receipts.sqlite3 --admin-all \
  --since "$EVIDENCE_SINCE" --until "$EVIDENCE_UNTIL" \
  --outcome deny --limit 100 > samples/deny.jsonl
jq -s length samples/allow.jsonl
jq -s length samples/deny.jsonl
Output · exit 0
2
1

Export with complete checkpoint coverage

Terminalbash
EVIDENCE_SINCE=$(jq -r .since evidence-run/window.json)
EVIDENCE_UNTIL=$(jq -r .until evidence-run/window.json)
chio evidence export --receipt-db evidence-run/receipts.sqlite3 --admin-all \
  --since "$EVIDENCE_SINCE" --until "$EVIDENCE_UNTIL" \
  --require-proofs --output evidence-package
chio evidence verify --input evidence-package
Output · exit 0
evidence package verified
tool_receipts:          3
child_receipts:         0
checkpoints:            3
checkpoint_publications: 3
checkpoint_witnesses:   2
checkpoint_consistency_proofs: 2
checkpoint_equivocations: 0
capability_lineage:     1
inclusion_proofs:       3
uncheckpointed_receipts: 0
authorized_receipts:     2
trace_observations:      0
advisory_evaluations:    0
verified_files:         12
child_receipt_scope:    FullQueryWindow
transparency_preview_logs: 1
publication_state:      transparency_preview

The assessor checks each receipt signature, checkpoint proof, and signer key against the steps in verify security evidence.

The assessment export refuses a window without checkpoint coverage

The operational and audit-control rows rest on signed receipts. chio evidence export assembles the receipts for the assessment window into a package an assessor verifies without touching the live kernel. --since and --until take Unix seconds; the pair below is the first quarter of 2026.

Terminalbash
chio --receipt-db ./receipts.sqlite3 evidence export \
    --policy-file ./policy.yaml \
    --admin-all \
    --since 1767225600 \
    --until 1775001599 \
    --require-proofs \
    --output ./hitrust-i1-evidence
chio evidence verify --input ./hitrust-i1-evidence

--require-proofs makes the tamper-evidence property of the audit-integrity rows a condition of the export. Against a store whose durable tail has no checkpoint yet, the export refuses, reports how many receipts lack coverage, and lists up to five of them with their sequence numbers:

evidence · export-require-proofstranscript
$ chio --receipt-db ./.chio/receipts.db evidence export \
  --output ./evidence-proofs --admin-all --require-proofs
error[CHIO-ATTEST-PROVENANCE-MISSING]: evidence export requires checkpoint coverage, but 2 receipt(s) are uncheckpointed: f8128d2289c69d835348f229edfdd2714a8b3c6f064f4f7324b652a299e9a4b3@1, e7a4fc95979cc9b31d8b740c27cd58f1fde209aac323aaeac115544d82be2ee7@2
  help: export again once a checkpoint covers these receipts, or drop --require-proofs
  code: urn:chio:error:attest:provenance-missing
  docs: https://chio.computer/docs/reference/errors#error-attest-provenance-missing
exit 1in my-agent

No directory is written: validate_evidence_bundle_requirements runs before write_evidence_package reaches ensure_clean_output_dir. Verification exits 0 when every receipt signature and checkpoint proof in the package reproduces. Local reads require --admin-all, an administrative export across every tenant, or --tenant <id> for one tenant; the two are mutually exclusive.

Verifier counts for an export without --require-proofs

Without the flag, the same store exports with its uncheckpointed tail included, and the verifier still passes. Its counts state what it checked: the uncheckpointed_receipts line is the one an assessor reads against the audit-integrity rows. The check sequence lives in crates/platform/chio-control-plane/src/evidence_export.rs.

evidence · verifytranscript
$ chio evidence verify --input ./evidence
evidence package verified
tool_receipts:          2
child_receipts:         0
checkpoints:            0
checkpoint_publications: 0
checkpoint_witnesses:   0
checkpoint_consistency_proofs: 0
checkpoint_equivocations: 0
capability_lineage:     2
inclusion_proofs:       0
uncheckpointed_receipts: 2
authorized_receipts:     1
trace_observations:      0
advisory_evaluations:    0
verified_files:         12
child_receipt_scope:    FullQueryWindow
transparency_preview_logs: 0
publication_state:      transparency_preview
exit 0in my-agent

The package carries the window's receipts, their checkpoint coverage, and the attached policy file, so the audit-log schema v1 rows and the receipt-integrity rows verify from one artifact.

Read more in Verify Receipts Offline, which walks the receipt-level checks.

The operator runs the reviews, contracts, and facilities each family needs

Each duty below has a policy or plan in the package and an evidence record the operator retains for the assessor.

  1. Access review. Each quarter, a person reviews the operator, capability-admin, and audit-log-export roles, plus break-glass grants, under policies/access-review.md. Access Control and Operations.
  2. Key rotation. Rotate on the schedule in policies/key-rotation.md and retain each rotation record. Operations.
  3. Operational samples. Pull 30-day audit-log samples with chio evidence export under schema v1, per operational-samples.md. Operations.
  4. Incident cycle. Exercise ir-runbook.md and retain each cycle's record. Incident Management.
  5. BAA chain. Attach the private BAA reference through the approved evidence channel before any PHI sample is used. Privacy and Compliance.
  6. Workforce, facilities, continuity. Keep HR policy and training references, record provider attestations per encryption-at-rest.md, and hold the design-partner disaster-recovery reference.
  7. Program and assessment. Run the security-review cadence, keep operating-role evidence, and engage the external assessor through the MyCSF object.

Readiness package files and formats

Package contents

The package lives under compliance/hitrust/ in the Chio repository and points at current implementation evidence.

Evidence itemPathPurpose
Control mapping
One row per control: status, owner, narrative, evidence
System security plan
System overview, scope, family posture with inheritance
Scope boundary
In-scope and excluded decisions, scope-memo preimage
Gap self-assessment
Analysis by family, with the record that closes each row
Readiness questionnaire
Chio's answers to i1 scope and readiness questions
Incident runbook
Severity classes, response workflow, HIPAA 45 CFR 164.400-414 clock
Control narratives
Per-family narratives, formal bridge, remediation summary
Operational policies
Access review, key rotation, de-identification, minimum necessary
MyCSF portal config
Object configuration and inherited-evidence packets
Provider-inheritance pointers
Sources for physical, environmental, encryption-at-rest evidence
Operational sample plan
Audit-log schema v1 and the five sample classes

The five sample classes are allow, deny, revoked-capability, and guard-deny decisions from a schema v1 receipt export, plus export-integrity checks from the audit-log export pipeline.

Control-mapping format

The mapping is a flat CSV, so a reviewer can diff it, sort it, and join it against an assessor's control list. Its columns are control_id, family, narrative_path, evidence_sources (semicolon-separated repository paths), status, owner, and notes. Every row names chio-security as its owner.

compliance/hitrust/control-mapping.csvtext
control_id,family,narrative_path,evidence_sources,status,owner,notes
ctl-access,Access Control,compliance/hitrust/narratives/i1-seed-access.md,spec/PROTOCOL.md; spec/SECURITY.md; spec/security/chio-threat-model.v1.json; crates/kernel/chio-kernel-core/src/evaluate.rs; formal/MAPPING.md,implemented,chio-security,Capability algebra evidenced by kernel code and formal proofs.
ctl-ops,Communications and Operations Management,compliance/hitrust/narratives/i1-seed-ops.md,spec/audit-log/export-schema.v1.json; crates/kernel/chio-kernel/src/receipt_store.rs; .github/workflows/ci.yml,partial,chio-security,Audit-log schema and receipt pipeline exist; 30-day operational samples are a gap.
ctl-privacy,Privacy Practices,compliance/hitrust/narratives/i1-seed-privacy.md,spec/audit-log/export-schema.v1.json; crates/observability/chio-log-redact/src/lib.rs; compliance/hitrust/policies/de-identification.md,partial,chio-security,Receipt redaction implemented and de-id policy documented; BAA receipt is out-of-tree.

Three of the file's twenty-one rows, with the header. Each evidence_sources cell is reproduced whole, because a control row is only as strong as the paths it names. Each narrative_path points at a plain-language narrative under narratives/ that ends with a fail-closed note: what denies access or blocks promotion when the control is unmet.

Status values

The status column takes three values under a fail-closed rule. A row is promoted only when it ties to a source artifact and a named owner; an assessor interaction, a plan, or a repository assertion alone promotes nothing.

  • implemented: the control is enforced in shipped code or backed by repository evidence, with a named owner, and the row cites the file.
  • partial: Chio supplies part of the control; the remainder is out-of-tree evidence, an operating cadence, or organizational procedure.
  • gap: the evidence lives outside the repository with an out-of-tree owner, and the row is never represented as satisfied.

MyCSF portal handoff

HITRUST creates the MyCSF object and its control count when the operator's engagement begins, and the control population is whatever that object holds. The portal configuration records the values the package requests and the inherited evidence packets it loads first.

Uploads go in two passes: coarse inherited evidence first, then control-specific evidence after remediation. Access is limited to the assessor's reviewers and the chio-security evidence owner.

Key rotation schedule

Key classRotation cadenceEvidence
Capability signing keys
At least every 90 days
Rotation receipt and key-id cutover log
TLS service certificates
Before expiration and at least annually
Certificate inventory and deployment record
Audit-log export keys
At least every 180 days
Export-key rotation receipt
MyCSF portal credentials
Quarterly access review
Access-review evidence packet

Capability signing rotation uses a fail-closed cutover: publish the new key id to the verifier set, issue only from the new key, hold the old key verify-only for the maximum capability lifetime, then revoke it and record the cutover receipt. If the verifier set cannot load the new key, issuance pauses and access is refused; issuance never falls back to an untracked signer. The runtime mechanics are in Rotate Keys & Revoke.

Next: build the evidence package an assessor verifies

HITRUST i1 Readiness Package · Chio Docs