Skip to content

Repository layout

Path What
server/ FastAPI matching server (the crypto-blind coordinator).
client/ Dev-facing demo SPA (Vite + React + TS, crypto in-browser).
vectors/ Cross-language protocol test vectors (Python ↔ JS).
infra/ OpenTofu: VPC, fck-nat, k3s nodes, ECR (eu-west-1).
deploy/ helmfile + charts: Traefik, CloudNativePG, app, HyperDX.
scripts/ Vector generator, live E2E, demo seeding, build/push, teardown.
docs-site/ This documentation site (Astro + Starlight).
Path What
src/vouch/app.py App factory, router wiring, background matcher loop.
src/vouch/routers/ HTTP endpoints: auth, profile, contacts, sync, pairs, admin.
src/vouch/matching.py The pairing + PSI comparison logic.
src/vouch/protocol.py Ristretto255 primitives shared with the client vectors.
src/vouch/schemas.py Pydantic request/response models — the source of the API reference.
src/vouch/config.py Settings — see Configuration.
scripts/dump_openapi.py Emits the OpenAPI spec the docs render.
migrations/ Alembic migrations (run once per release by a Helm hook Job in the cluster; tests/test_migrations.py guards against drift from the models).