bigtech-sucks/packages/core/db
CLU f27ec770fc fix(signal): the uninstall does not uninstall
Observed on the operator's machine 2026-10-30 while reinstalling to put the app
to use. Four months after the package was purged, a fresh install found
~/.config/Signal/sql/db.sqlite (54,214,656 bytes, mtime 2026-06-21), tried to
open it, and aborted before the linking screen:

  MainSQL: sqlite(SQLITE_NOTADB): file is not a database in PRAGMA journal_mode = WAL
  MainSQL: migrateDatabase: Migration without cipher change failed
  sql.initialize was unsuccessful; returning early

The SQLCipher key in config.json no longer resolved. The UI named nothing and
offered only 'Delete data and restart', which discards the history. Moving the
config directory aside fixes it; nothing in the product says so.

Recorded as a medium finding, status open. The score does not move: 76.4 / B.
local_data_exposure was already 5 for exactly this behaviour, and a finding is
evidence, not a point. What changes is that the number now has a receipt instead
of a rationale.

Artifact: Servetus/00-Artifacts/2026/10-Oct/30/clu-signal-startup-failure/
  main.log.excerpt  - the failing run, verbatim
  00-provenance.txt - package version, file sizes, sha256 of the retained db
Retained state moved to ~/Signal-backup-2026-10-30-0026, not deleted.
2026-10-30 00:31:21 -05:00
..
attest feat: the closed-source ladder, and why self-attestation is a declaration 2026-10-29 16:07:55 -05:00
hooks feat: the hook prober, and the list becomes the front door 2026-10-29 17:23:11 -05:00
ingest feat: self-authoring ingest, relevance gate, and the Ranch Oath 2026-10-29 13:23:57 -05:00
seed fix(signal): the uninstall does not uninstall 2026-10-30 00:31:21 -05:00
build.mjs feat: the hook prober, and the list becomes the front door 2026-10-29 17:23:11 -05:00
render.mjs fix(signal): the uninstall does not uninstall 2026-10-30 00:31:21 -05:00
schema.sql feat: the hook prober, and the list becomes the front door 2026-10-29 17:23:11 -05:00