a963baa8deb18f9fda1bd9cfdf8e944a1275deb3b4621fdce0a15f5fb57897aa
Vanilla HTML/CSS/JS frontend served by Flask: - Unlock screen: passphrase -> Argon2id session key, held in memory only (never sent to the server); "Sperren" wipes key and DOM rows. - Records table (Person A/B, start/end, action) rendered via textContent only (no HTML injection); undecryptable rows are flagged. - Create/edit modal encrypts payloads with XChaCha20-Poly1305 before any network call; updates carry the server version (optimistic lock, conflict toast on 409); delete fetches current version first. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
crushdb – verschlüsselte Datensätze zwischen Personen
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)
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.
Languages
Python
78.3%
JavaScript
19.1%
CSS
2.6%