Block a user
docs: attachments & storage backend design (#38, #31)
docs: cookie-based preferences and access keys design (#30)
FUTURE: cookie-based preferences and access keys
Search: loading indicator and performance note (#32)
Search: loading indicator and performance review
fix: input validation gaps (#68)
[pentest] Input validation gaps: negative/huge content accepted, expires_at ignored, limit=0 ignored
Admin key endpoint: per-IP rate limiting and lockout (#66)
[pentest] Admin key endpoint has no rate limiting or lockout (offline brute force possible)
Clamp expires_in at API boundary (#60)
Security: clamp expires_in at API boundary (reject zero/negative, cap 1yr)
docs: design for optional client-side E2E encryption (issue #39)