jhkaktus a963baa8de feat: browser UI – unlock, table view, create/edit/delete with client-side crypto
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>
2026-10-11 00:02:40 +02:00
2026-10-10 21:50:03 +00:00

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.

S
Description
a secure database for saving transaktions betwen persons
Readme MIT
208 KiB
Languages
Python 78.3%
JavaScript 19.1%
CSS 2.6%