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.
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.
Access Control
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.
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.
| Family | Chio control | Evidence record | Owner |
|---|---|---|---|
Access Control | Capability token, revocation, DPoP binding | CapabilityToken, Apalache invariants | Chio and operator |
Risk Management | Threat model and coverage table | chio- | Chio |
Security Policy | Security policy corpus | spec/ | 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 | Query 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- | 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.rsandcrates/core/chio-core-types/src/capability/, checked by the formal proofs thatformal/MAPPING.mdlists. - Risk Management.
spec/security/chio-threat-model.v1.jsonand the coverage table atdocs/security/threat-coverage.md. - Security Policy.
spec/SECURITY.mdand thedocs/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, andformal/proof-manifest.toml. - Information Security Management Program. Governance in
spec/SECURITY.mdandformal/OWNERS.md; the operator runs the formal security-review cadence. - Organization of Information Security. Ownership of formal evidence in
formal/OWNERS.mdandfuzz/owners.toml; the operator keeps the broader operating-role evidence. - Compliance.
ssp.mdandscope-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 incrates/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.rsand the de-identification posture atcompliance/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.
cargo run --locked --bin evidencetwo 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
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.jsonl2 1
Export with complete checkpoint coverage
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-packageevidence 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.
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:
$ chio --receipt-db ./.chio/receipts.db evidence export \
--output ./evidence-proofs --admin-all --require-proofserror[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
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.
$ chio evidence verify --input ./evidenceevidence 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
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.
- 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. - Key rotation. Rotate on the schedule in
policies/key-rotation.mdand retain each rotation record. Operations. - Operational samples. Pull 30-day audit-log samples with
chio evidence exportunder schema v1, peroperational-samples.md. Operations. - Incident cycle. Exercise
ir-runbook.mdand retain each cycle's record. Incident Management. - BAA chain. Attach the private BAA reference through the approved evidence channel before any PHI sample is used. Privacy and Compliance.
- 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. - 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
Try control-mapping.csv, status, or capability signing keys.
Package contents
The package lives under compliance/hitrust/ in the Chio repository and points at current implementation evidence.
| Evidence item | Path | Purpose |
|---|---|---|
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- | |
MyCSF portal config | Object configuration and inherited- | |
Provider- | Sources for physical, environmental, encryption- | |
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.
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 class | Rotation cadence | Evidence |
|---|---|---|
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.