Use NaCl box (ECDH + XSalsa20-Poly1305) for message E2E encryption
Status: Accepted
Server schema uses SQLModel create_all(), not a migration tool
Status: Superseded by ADR 0007 — the project adopted Alembic. This record is retained for historical context; it does not describe how the server works today.
Use WatermelonDB for the mobile app's local database
Status: Accepted
Calls are P2P WebRTC media with a server-relayed signalling channel only
Status: Accepted
Design SAPOT as LAN-first, not internet-first-with-offline-fallback
Status: Accepted
Four-tier roles model: guest, user, rescuer, admin
Status: Accepted
Server schema uses Alembic migrations, not create_all()
Status: Accepted — supersedes ADR 0002