secure-messaging/README.md
George Lambert a72b4c513d
Some checks are pending
ci / python (push) Waiting to run
ci / go (push) Waiting to run
S25: npe adapter matches real send/keygen CLI; config key rotate script
Probe reports usable without enabling PFC_REQUIRE_NPE. Fail-closed if
sender .seed or recipient .npeid is missing.
2026-09-15 23:19:37 -04:00

21 lines
988 B
Markdown

# secure-messaging
Passthrough NATS envelopes, Ed25519 signed configuration, DataCube admin
history, and Network Error Bundles.
* Python spec: `python/secure_messaging/` (line comments)
* Go leaf: `go/cmd/sm-leaf` (in-process NATS + optional `SM_LEAF_HUB`)
* Loopback health: `SM_HTTP` default `127.0.0.1:18783` (`GET /health`)
* systemd: `deploy/pfc-sm-leaf.service` (does not replace `pfc-py-admin`)
* Catalog: https://git.georgelambert.org/marchon/nats-service-endpoints
* Hub: https://git.georgelambert.org/marchon/system-git-sync
Config must be a signed wrapper. Unsigned files are rejected. Admin changes
append prev + new + unified diff to a `kind=admin-history` JSONL chain.
`crypto.mode`: `npe` | `lab-xor` | `plain-lab` (see signed payload).
Live ns1 lab uses `lab-xor`. The real NPE CLI is `npe send|keygen|id`
(not `npe seal`). Probe `GET /v1/npe`. Do not set `PFC_REQUIRE_NPE=1` on
pfc-py-admin until every bus client uses `npe send`.
Not a HIPAA/SOC 2/ISO certificate.