Some checks are pending
ci / markdown (push) Waiting to run
Cure53 Berlin 2019 and ROS Amsterdam 2024 are pentests, not HIPAA/SOC2/ISO certificates. BAA/DPA guidance for ciphertext-at-rest on cryptree+IPFS.
81 lines
4.9 KiB
Markdown
81 lines
4.9 KiB
Markdown
# 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 (May–June 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 (Sep–Nov 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)
|
||
|
||
Peergos’s 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.
|