Replace raw === token checks with crypto.timingSafeEqual to prevent timing attacks.
Store HMAC-SHA256 of the share token in the auth cookie instead of the raw value, so that a leaked cookie does not directly expose the master token.
N/A
?token=<SHARE_TOKEN> → cookie is set and page redirects./unauthorized page → cookie is set and redirects to /.feat:, fix:, chore:, refactor:, docs:, i18n:)locales/ko.json and locales/en.json (if UI text changed)