32 unenforced becomes 30 — mailbox administration gated, email logs deleted

Fixkamo-internal
Shipped
August 15, 2026 at 5:24 AM UTC
Author
kamo
Commit
ef693b3

VIEW_EMAIL_ACCOUNTS now gates the administrative reads on MailboxController and MANAGE_EMAIL_ACCOUNTS gates every write. Both were client-only before: the whole email-admin family — ACCESS_MAIL, MANAGE_EMAIL_ACCOUNTS, MANAGE_EMAIL_SETTINGS — counted as enforced in the audit while every one of their sites was a .tsx or .ts file. VIEW_EMAIL_ACCOUNTS was referenced nowhere at all. The mailbox LIST endpoint is deliberately left open. It is the first source in /api/email/directory, which backs recipient autocomplete and returns an empty list rather than an error when a source refuses, so gating it on a right held by 15 of 42 roles would have silently emptied the address book for everyone who can read mail but not administer it. A gate that is correct in the abstract and wrong in context is still wrong, and only following the consumer showed it. VIEW_EMAIL_LOGS (64) is deleted: no email log exists in any schema, endpoint or screen, while the platform models logs everywhere it actually has them. Taxonomy 194/131/33/30 becomes 193/130/33/30, and the TS mirror, both parent maps and the parity count move with it.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing