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). |
Inside server/
Section titled “Inside server/”| 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). |