RECORDGOD/app
type-two e1fcf94f93 feat: standalone RecordGod web UI — landing, control-room dash, encrypted secrets vault
- app/vault.py: Fernet-encrypted credential store (app_secret table); key lives only in
  RECORDGOD_SECRET_KEY (.env, gitignored) — refuses to store anything if the key is unset.
- app/settings_routes.py: admin-gated GET/POST /settings/secrets; values encrypted at rest,
  NEVER returned. Known fields: Woo / Discogs / Cloudflare / DealGod credentials.
- site/index.html: recordgod.com landing. site/dash.html: control room (token gate +
  paste-your-credentials form). main.py loads .env, mounts site at /, store at /store.
- Proven: 401 on bad token; DB holds ciphertext (gAAAA…), not plaintext.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 12:40:07 +10:00
..
__init__.py feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
auth.py feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
db.py feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
main.py feat: standalone RecordGod web UI — landing, control-room dash, encrypted secrets vault 2026-06-21 12:40:07 +10:00
settings_routes.py feat: standalone RecordGod web UI — landing, control-room dash, encrypted secrets vault 2026-06-21 12:40:07 +10:00
vault.py feat: standalone RecordGod web UI — landing, control-room dash, encrypted secrets vault 2026-06-21 12:40:07 +10:00
virtual.py feat(virtual): lift the 3D store out of WordPress — scene API + raw Three.js renderer 2026-06-19 17:59:52 +10:00
wowplatter_v1.py feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00