feat(notifications): security, share and release notices, email digests; harden links (phases d, e) #11

Merged
KofTwentyTwo merged 2 commits from feature/notifications-de into develop 2026-10-13 15:21:20 +00:00
2 Commits
Author SHA1 Message Date
james.maesandClaude Opus 5.5 020d38e810 fix(api): notificationsHref is the Next UI route /app/notifications
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 10:15:52 -05:00
james.maesandClaude Opus 5.5 65fa558ed5 feat(notifications): security, share and release notices, email digests, home line; harden links (phases d, e)
- AlertsNotices: newSignIn, apiKeyCreated, apiKeyExpiring (deduped per
  key), permissionChanged, shared, release.
- NotificationEmailer: opt-in email per user and category, IMMEDIATE (at
  or above a minimum severity) or DAILY_DIGEST at the user's digest hour
  and time zone; inert without a messaging provider; ALERT not emailed
  here; SECURITY emails carry no body. Runs in the delivery job.
- Alerts home: a link-only Notifications line for authors.
- safeLink refuses backslashes, whitespace, control characters, a second
  leading slash, and anything but https with a host (open-redirect fix
  from security review); the table customizer uses it on save.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 10:15:05 -05:00