Some checks are pending
ci / markdown (push) Waiting to run
source/ is the Sphinx tree. Companion PDF hrefs are relative, not Markdown.
88 lines
3.3 KiB
Markdown
88 lines
3.3 KiB
Markdown
# Making yourself audit-ready with Verae DataCubes
|
||
|
||
How to **prepare an organization** for HIPAA-aligned, SOC 2, or ISO 27001
|
||
work using Verae DataCubes on **Peergos** (encrypted cryptree + hashed
|
||
IPFS) and HPKE on an **untrusted NATS** broker.
|
||
|
||
**This repository is not a HIPAA, SOC 2, or ISO certificate.**
|
||
Peergos’s public pentests are **not** your Type II or ISO registrar
|
||
certificate. They are **component security evaluations** you can attach.
|
||
|
||
## What we verified about Peergos (EU)
|
||
|
||
Full sources: [`PEERGOS-VERIFICATION.md`](PEERGOS-VERIFICATION.md).
|
||
|
||
| Fact | Verified? |
|
||
|---|---|
|
||
| Encrypted client-side filesystem (cryptree); keys not on the storage server | Yes — Peergos book + Cure53 design review |
|
||
| IPFS blocks content-addressed; Peergos verifies hashes (tamper-evident restore) | Yes — [trust-free layers](https://book.peergos.org/security/trust.html) |
|
||
| Independent **EU** security audits, reports published | **Yes — two:** Cure53 **Berlin** (2019); Radically Open Security **Amsterdam** (2024, NLnet; EU Horizon 2020 NGI-POINTER mentioned on the post) |
|
||
| “Peergos is HIPAA/SOC 2/ISO certified” | **No.** Those audits are pentest/code/design reviews, not management-system certificates |
|
||
|
||
So: Peergos **was designed as a trust-minimized encrypted filesystem**,
|
||
**evaluated in Europe** by two specialist firms, with **public reports**.
|
||
That supports the **at-rest / backup** story. It does **not** finish
|
||
*your* audit.
|
||
|
||
## Architecture (audit interview in one page)
|
||
|
||
```
|
||
Endpoint (keys stay here / HSM)
|
||
│ HPKE content (NPE suite)
|
||
│ routing: dest + subject in the clear
|
||
▼
|
||
Untrusted NATS (cannot read bodies)
|
||
│
|
||
▼
|
||
Verae DataCube chain (append-only hashes)
|
||
│ written through Peergos client
|
||
▼
|
||
Peergos cryptree (encrypted names, sizes, graph)
|
||
│ chunks → CID / hash
|
||
▼
|
||
IPFS (distributed, hash-verified ciphertext)
|
||
```
|
||
|
||
- **At rest:** Peergos cryptree + IPFS. Hosts with disk/backup see
|
||
**opaque hashed ciphertext**, not PHI, if they lack keys.
|
||
- **In transit (NATS):** HPKE-Base to directory public keys. Broker is
|
||
honest-but-curious: destinations yes, bodies no.
|
||
- **Integrity:** cube JSONL chain + dual hash + IPFS CID check on
|
||
restore (re-fetch blocks, re-verify hashes — not a plaintext tape).
|
||
|
||
## BAAs / DPAs
|
||
|
||
Ciphertext-without-keys **narrows** who is a Business Associate or
|
||
GDPR processor for **content**. It does **not** automatically delete
|
||
contracts for VMs, usernames, or logs. See [`BAA-DPA.md`](BAA-DPA.md).
|
||
|
||
## Pack
|
||
|
||
| File | Use |
|
||
|---|---|
|
||
| `PEERGOS-VERIFICATION.md` | Sourced Peergos/EU audit facts |
|
||
| `BAA-DPA.md` | Counsel briefing |
|
||
| `CHECKLIST.md` | Evidence list |
|
||
| `HOWTO.md` | How to hand this to an auditor |
|
||
| `MODULE.md` | Callers / non-runtime |
|
||
|
||
Live technical surfaces (ns1): https://pfc.georgelambert.org/health ·
|
||
https://pfc.georgelambert.org/v1/npe/keys ·
|
||
https://docs.pfc.georgelambert.org/controls.html
|
||
|
||
Related: https://git.georgelambert.org/marchon/system-git-sync
|
||
|
||
## Sphinx (HTML + LaTeX PDF)
|
||
|
||
Sources live in ``source/`` (Sphinx). Build:
|
||
|
||
```
|
||
make html
|
||
make latexpdf
|
||
```
|
||
|
||
* HTML: ``build/html/index.html``
|
||
* PDF: ``build/latex/peergos-making-yourself-audit-ready-with-verae-datacubes.pdf``
|
||
|
||
LaTeX companion links are **relative PDFs** (not Markdown). Live HTML:
|
||
https://docs.pfc.georgelambert.org/audit-ready/
|