peergos-making-yourself-aud.../PEERGOS-VERIFICATION.md
George Lambert afa270a141
Some checks are pending
ci / markdown (push) Waiting to run
Initial pack: Peergos EU audit verification and DataCube audit-ready checklist
Cure53 Berlin 2019 and ROS Amsterdam 2024 are pentests, not HIPAA/SOC2/ISO
certificates. BAA/DPA guidance for ciphertext-at-rest on cryptree+IPFS.
2026-09-15 23:57:04 -04:00

81 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Peergos verification (what was actually audited)
This file records **sourced** facts. It does **not** turn Peergos, Verae, or
DataCubes into a HIPAA, SOC 2, or ISO 27001 certificate.
## Claim to check
> Data at rest is stored in an encrypted append-only Peergos filesystem;
> backup/restore is managed via a distributed, hashed, encrypted Peergos
> IPFS system, designed and evaluated in the EU as an audited secure
> filesystem.
## Verified
### Independent security audits (Europe)
| Year | Firm | Where | What | Outcome (as published) | Primary sources |
|---|---|---|---|---|---|
| 2019 | **Cure53** | Berlin, Germany | Pentest, source-code audit, **crypto/design review** of Peergos (MayJune 2019) | Peergos: no fundamental architectural or cryptographic problems found; reported issues fixed. Cure53 concluded the platform **passed this evaluation**. | [peergos.org/posts/security-audit](https://peergos.org/posts/security-audit); [cure53.de/pentest-report_peergos.pdf](https://cure53.de/pentest-report_peergos.pdf); [github.com/Peergos/Peergos/tree/master/audits](https://github.com/Peergos/Peergos/tree/master/audits) |
| 2024 | **Radically Open Security B.V.** | Amsterdam, Netherlands | Crystal-box pentest + code audit of Peergos web-ui (SepNov 2024), report dated 18 Nov 2024 | **0** extreme / high / elevated findings; **2** moderate, **6** low; Peergos states all fixed; none resulted in data exposure or integrity compromise (mostly UI crashes). | [peergos.org/posts/security-audit-2024](https://peergos.org/posts/security-audit-2024); ROS PDF in the same GitHub `audits/` tree |
Both firms are **EU-based**. Both full reports are **public**. That is a
**security evaluation of the Peergos protocol/implementation**, not a
HIPAA/SOC 2/ISO management-system certificate.
### EU funding / NLNet
- Peergos received funding from the **European Union Horizon 2020** programme
under **NGI-POINTER**, grant **871528** (stated on the 2024 audit post).
- The 2024 audit was supported by **NLnet** (Netherlands).
### Hosted instance location (peergos.net, not necessarily your self-host)
Peergoss hosted privacy notice states the hosted instance uses servers in
**Germany** and encrypted object storage, with backups that may use other
providers (e.g. Backblaze S3). **Self-hosted ns1 / customer cryptree is a
different processing location** and must be documented in *your* RoPA / BAA
pack.
Source: [peergos.net/privacy.html](https://peergos.net/privacy.html)
### Encrypted filesystem + hashed IPFS (design)
Documented Peergos design (matches “encrypted, hashed, distributed”):
- **Cryptree**: tree of symmetric keys; fine-grained read/write caps; sibling
names hidden from a cap-holder of one file. Writes are **signed**.
[book.peergos.org/security/cryptree.html](https://book.peergos.org/security/cryptree.html)
- **Chunks**: up to 5 MiB, padded, independently encrypted
(Salsa20-Poly1305 / TweetNaCl); random 256-bit keys (not convergent).
[book.peergos.org/security/encryption.html](https://book.peergos.org/security/encryption.html)
- **IPFS**: content-addressed blocks. Peergos **verifies the hash** of every
block read from or written to IPFS (server cannot silently swap bytes).
Client verifies hashes and signatures of data from a Peergos server.
[book.peergos.org/security/trust.html](https://book.peergos.org/security/trust.html)
- **CHAMP**: encrypted cryptree nodes under **random 32-byte labels**; server
cannot deduce file size or directory shape from the label graph.
- Sharing: hybrid **X25519 + ML-KEM-1024** (post-quantum hybrid) for follow
requests.
That is an **append-mostly / capability / content-addressed** encrypted
filesystem. “Append-only” in Verae DataCubes is the **cube chain JSONL**
(application integrity). Peergos itself uses signed updates and immutable
blocks; directory pointers move forward. Do not conflate the two layers in
an audit interview.
## Not verified / do not claim
| Phrase | Status |
|---|---|
| “Peergos is HIPAA certified” | **False.** HIPAA is not a product certificate. |
| “Peergos is SOC 2 / ISO 27001 certified” | **Not shown** in the public materials above. The published work is **security pentest/code audit**, not a Type II or ISO registrar certificate. |
| “EU evaluated Peergos as a certified secure filesystem under a government FS standard” | **Overstated.** What exists: EU **grant funding**, NLNet-funded **ROS pentest**, Cure53 **Berlin** design+code audit. |
| “Hosts with disk/backup never need a BAA/DPA” | **Legal conclusion — not a technical fact.** See `BAA-DPA.md`. Encryption + no keys at the host is a **strong Art. 32 / HIPAA Security Rule argument**; counsel still decides. |
## How Verae uses this
Verae DataCubes sit **on** Peergos cryptree (Drive) plus a **console** identity
plane (TOTP, k-of-n inspect). Backup of cubes is **content-addressed encrypted
blocks** (Peergos/IPFS), not a plaintext dump. That is the technical story to
hand an auditor, with the sources in this file.