Skip to content

docs: a regulated-lab pack under docs/regulated - #109

Merged
HackTuah merged 2 commits into
mainfrom
docs/regulated-pack
Sep 27, 2026
Merged

HackTuah merged 2 commits into
mainfrom
docs/regulated-pack

Conversation

@HackTuah

Copy link
Copy Markdown
Member

Seven documents for an ISSM or an assessment team deciding whether Trinity can run inside an accredited boundary. Documentation only. No lib/ change, no behaviour change, no control asserted that the tree does not already implement.

The rule it is written to

Every claim names a path in this repository. Anything without one says NOT IN TREE.

A census over the finished files resolves 59 distinct cited paths, and all 59 exist. Three passages are quoted verbatim rather than paraphrased, checked word for word with whitespace normalised: the two mix task moduledocs and the CMVP paragraph in docs/fips-leg.md.

What it refuses to claim

Not FedRAMP authorized. Not CMMC certified. Not a HIPAA attestation. No SOC 2, no HITRUST, no third-party audit. Sudo Apt Holdings LLC is not a Business Associate by virtue of anyone running the binary. NIST has evaluated, certified and endorsed nothing here.

Where docs/fips-leg.md cites CMVP certificate #4857, that is a Red Hat module's certificate, cited so a reader can check their own host. That document already says Trinity does not claim the binaries are the same or claim a validation. crypto-inventory.md repeats the qualification rather than softening it, and every certificate cell reads UNKNOWN.

The gaps are written as gaps

  • No allow-list of approved models exists in the tree. data-flow.md says so, and says enforcement is configuration control and egress policy rather than code.
  • No KMS or HSM adapter behind the key seam.
  • Nothing forwards logs. Trinity emits telemetry; collecting it is the customer's.
  • No witness or transparency service, so a reader who does not trust the host cannot detect backdated forgery.
  • The curator deletes nothing. It marks stale at 30 days and archives at 90, in place.
  • incident.md leaves every contact as TODO, deliberately. A blank gets filled; an invented name gets used.

The one paragraph an assessor should read first

authorization-boundary.md states the standalone limit rather than leaving it to be discovered: Trinity is judge, actor and scribe in one process. That is strong evidence to a reader who accepts the host was not compromised, and no evidence at all to one who does not. Regulated use requires an external authority adapter, which is NOT IN TREE and is downstream work per ADR-0008.

Files

File Answers
README.md What this is, and the four things it is not
authorization-boundary.md The boxes, and where the trust ends
customer-responsibility-matrix.md IdP, model, keys, egress, backups, retention, incidents across three columns
data-flow.md What enters a prompt; token material never does
incident.md 72-hour DFARS, the HIPAA clock if PHI is in scope
receipts-verify.md The two entry points and the exit vocabulary, quoted
crypto-inventory.md Capability, module, underlying, certificate
git diff --stat HEAD~1
 docs/regulated/README.md                         | 71 +++++++++++++++++
 docs/regulated/authorization-boundary.md         | 93 ++++++++++++++++++++++
 docs/regulated/crypto-inventory.md               | 75 ++++++++++++++++++
 docs/regulated/customer-responsibility-matrix.md | 78 +++++++++++++++++++
 docs/regulated/data-flow.md                      | 83 ++++++++++++++++++++
 docs/regulated/incident.md                       | 83 ++++++++++++++++++++
 docs/regulated/receipts-verify.md                | 98 ++++++++++++++++++++++++
 7 files changed, 581 insertions(+)

mix gate ; echo EXIT=$?
prod_check: PASS
trinity.names: OK over 669 tracked files
trinity.reuse: OK. Every commentable tracked file carries an SPDX header
Result: 914 passed (20 properties, 894 tests), 18 excluded
trinity.coverage: 042 80.31% vs 005 80.31%: OK
EXIT=0

Not merged, as instructed.

Seven documents for an ISSM or an assessment team deciding whether Trinity can
run inside an accredited boundary. Documentation only: no lib/ change, no
behaviour change, no control asserted that the tree does not already implement.

The rule the pack is written to is that every claim names a path in this
repository and anything without one says NOT IN TREE. A census over the finished
files resolves 59 distinct cited paths and all 59 exist. Three passages are
quoted verbatim from the tree rather than paraphrased: the two mix task
moduledocs and the CMVP paragraph in docs/fips-leg.md.

What the pack refuses to claim, in its own words: not FedRAMP authorized, not
CMMC certified, not a HIPAA attestation, and NIST has evaluated nothing here.
Where docs/fips-leg.md cites CMVP certificate #4857 it is a Red Hat module's
certificate, cited so a reader can check their own host, and that document
already says Trinity does not claim the binaries are the same or claim a
validation. crypto-inventory.md repeats the qualification rather than softening
it, and every certificate cell reads UNKNOWN.

The honest gaps are written as gaps. There is no allow-list of approved models
in the tree, so data-flow.md says enforcement is configuration control and
egress policy rather than code. No KMS or HSM adapter exists behind the key
seam. Nothing forwards logs. No witness or transparency service exists, so a
reader who does not trust the host cannot detect backdated forgery.
incident.md leaves every contact as TODO, deliberately: a blank gets filled and
an invented name gets used.

authorization-boundary.md states the standalone limit rather than leaving it to
be discovered: Trinity is judge, actor and scribe in one process, which is
strong evidence to a reader who accepts the host was not compromised and no
evidence at all to one who does not.

Signed-off-by: Ayla Croft <aylacroft@proton.me>
"The adapter itself is NOT IN TREE" was too strong and it was wrong. An adapter
does ship: Trinity.Authority.Local. Grepping the behaviour resolves two files,
lib/trinity/authority/local.ex and a test fixture at
test/support/authority/adapters.ex.

Corrected to: the seam is in the tree, selection happens once at boot from
TRINITY_AUTHORITY, one implementation ships and it is Local, and no adapter
other than Local ships in this tree. An external authority adapter lives in
another repository and nothing in mix.exs or mix.lock depends on one, which an
assessor can confirm from the dependency list rather than from the page.

Checked while correcting it: the only occurrence of the platform name anywhere
in mix.exs, mix.lock, config/ or lib/ is the forbidden-name list inside the name
check that exists to fail the build if such a name appears. Not a dependency.

The parallel claim about the key seam holds unchanged: one implementation of
Trinity.Keys, lib/trinity/keys/local.ex, so no KMS or HSM adapter is in the tree.

README gains one sentence: this pack documents the gap; it does not close it.

Signed-off-by: Ayla Croft <aylacroft@proton.me>
@HackTuah
HackTuah merged commit e330eea into main Sep 27, 2026
8 checks passed
@HackTuah
HackTuah deleted the docs/regulated-pack branch September 27, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant