feat: encrypted records storage model + SQLite layer (ciphertext-only)

Adds the base project setup (requirements, README, gitignore entries)
and a SQLite storage layer that persists only encrypted records:
uuid, ciphertext, nonce, salt, plus a monotonic version counter used
later for tamper/replay detection. Includes a smoke test run.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
This commit is contained in:
2026-10-10 23:56:12 +02:00
parent 7f045492b1
commit 440cd78203
5 changed files with 166 additions and 2 deletions
+22 -2
View File
@@ -1,3 +1,23 @@
# crushdb
# crushdb – verschlüsselte Datensätze zwischen Personen
a secure database for saving transaktions betwen persons
Sichere Datenbank für Transaktionen zwischen zwei Personen
(Person A, Person B, Timestamp-Start, Timestamp-Ende, Aktion).
Alle Datensätze werden **im Browser** verschlüsselt
(XChaCha20-Poly1305, Schlüsselableitung per Argon2id aus der Passphrase).
Der Server sieht ausschließlich Chiffretext.
## Starten (HTTPS, Dev mit self-signed Zertifikat)
```bash
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
./run.sh
# → https://127.0.0.1:8443
```
Ein selbstsigniertes Zertifikat wird bei Bedarf automatisch erzeugt
(`certs/`). Im Browser auftretende Zertifikatswarnungen in der
Entwicklung bestätigen.
Siehe `spezification.txt` für die Anforderungen.