---
title: pvtcoms — Audit Package
status: pre-audit
last_verified: 2026-06-03
verified_version: 0.1.48
---

# pvtcoms — Audit Package

The materials an external security auditor needs to **scope and conduct** a review of pvtcoms.
**pvtcoms has not yet been audited** — completing one (and remediating findings) is the gate before any
public "secure/production" claim.

## Read in this order

1. **[`AUDIT_SCOPE.md`](./AUDIT_SCOPE.md)** — what pvtcoms is, in/out of scope, components + LOC,
   dependencies, build/test, suggested engagement, and the five things we most want checked.
2. **[`CRYPTO_SPEC.md`](./CRYPTO_SPEC.md)** — the implementation-accurate cryptographic design (handshake,
   ratchet, offline scheme, AEAD nonce management, at-rest sealing, relay tokens), with verbatim
   constants and source refs — for the crypto reviewer.
3. **[`SECURITY_CLAIMS_AND_LIMITATIONS.md`](./SECURITY_CLAIMS_AND_LIMITATIONS.md)** — falsifiable claims
   to validate/refute, what we don't claim, self-identified weaknesses, a log of prior findings + fixes,
   and our top questions.

## Supporting project artifacts (maintained, referenced above)

- [`../../THREAT_MODEL.md`](../../THREAT_MODEL.md) — assets, goals, adversaries, out-of-scope, residual risks.
- `DESIGN.md` — full design reference (§3.2 crypto rationale). *Internal planning doc (`_internal/`), shared with the auditor under the engagement; not in the public repo.*
- [`../ARCHITECTURE.md`](../ARCHITECTURE.md) — components, data flow, FFI.
- [`../../STACK.md`](../../STACK.md) — exact version pins.
- [`../ADR/`](../ADR/) — decision records (001-010), incl. SQLCipher (010), transport (004), relay (005).
- [`../reports/2026-06-02-aead-nonce-audit.md`](../reports/2026-06-02-aead-nonce-audit.md) — the at-rest
  nonce-reuse finding + fix.
- [`../../SECURITY.md`](../../SECURITY.md) — vulnerability reporting / disclosure.
- [`dependency-tree.txt`](./dependency-tree.txt) — SBOM (`cargo tree`); exact pins in `Cargo.lock`.
- `scripts/audit/local-testbed.sh` — deterministic local relay + alice/bob end-to-end repro (no Tor).

## Snapshot

- Version **0.1.40** (docs refresh; last code change `e85f05f`), Rust 1.96 / edition 2024, AGPL-3.0 (full source).
- ~15,900 LOC first-party Rust (`core` ~8,190 + `client` ~7,370 + `ffi` ~210 + `concurrency` ~140) +
  ~1,200 lines front-end. (`demo/` was renamed `client/` in v0.1.37 — same shipped app.)
- **269 tests pass**: 204 core unit + 13 property + Wycheproof/at-rest/output-hygiene/RFC-KAT/
  differential-FIPS-203-KAT/parser-fuzz suites + 37 client + 5 FFI; whole-core 0-surviving mutants.
- Supply chain gated in CI (audit/deny/osv/Trivy/version-floors, daily).
- **Delta since first draft (v0.1.8 → 0.1.39):** transport fail-closed hardening, app-data-dir
  migration, relay operability layer, opt-in cover deposits + directory auto-publish. See AUDIT_SCOPE §11.
