feat: security hardening and polish for product release #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/security-and-polish"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Security hardening, publishing flow redesign, and polish
Security (9 fixes)
HSTS+Permissions-Policyheaders added to all responses;HSTSonly sent whenSECURE_COOKIES=truesession_versioncolumn onUser; token format updated to include version; stale tokensrejected on every request
session_version,logging out all other devices; self-change re-issues cookie so the current session stays valid
CSRF: double-submit cookie pattern onGET /login→POST /login; requests without a matching token get403
Content-TypeTRUST_PROXYsetting: opt-inX-Forwarded-Forsupport for correct IP detection behind nginx/Caddy/Traefik; rate limiter uses real IP when enabled/uploads/{user_id}/{filename}requires auth or a valid?share_tokenlinked to an entry owned by that userDELETE /journal/{date}/shareendpoint clears the token; images embedded in shared entries are rewritten to include?share_tokenso they load for unauthenticated viewersPublishing flow redesign
Replaced the fragile share popup with a clean two-action model:
toast; no popup, no URL input field
UI & calendar polish
shared/published (accent ring), active/current (solid fill); states stack, active overrides all
i18n
delete_confirm
Docs & CI
CONFIGURATION.mdadded with full prose-style config reference