Public: anyone can read this; the crew can change it.
A spam lead, a test entry or a person who asks to be forgotten can be deleted for good: their messages, showings and notes go with them, and the audit keeps who deleted and when #108
Sign in to join this conversation.
For: today no lead can be removed (there is no delete route), so spam and "please delete my details" requests stay forever. contract.json already says lead delete needs admin; this makes that door exist. Do not loosen the cell.
Done looks like:
permitallows lead delete, behind a confirmation step that names the lead (a second form or a typed confirm, no JavaScript needed).Files likely: src/actions.ts (or a new src/forget.ts), src/routes.ts, src/pages/lead.ts, src/audit.ts, src/mcp.ts, src/terminal.ts, src/openapi.ts, README.md, a new src/forget.test.ts. Risk: missing a child table; foreign keys with ON DELETE CASCADE or an explicit list, tested either way.