-
Notifications
You must be signed in to change notification settings - Fork 0
feat: in-app HTTPS/HSTS enforcement and secure-cookie defaults #427
Copy link
Copy link
Open
Labels
area:securityAuth, sessions, account & data privacyAuth, sessions, account & data privacyenhancementNew feature or requestNew feature or requestneeds-scopingDirection agreed but needs design/scoping before implementationDirection agreed but needs design/scoping before implementationpost-mvpDeferred beyond the MVP; net-new vs docs/FUTURE.mdDeferred beyond the MVP; net-new vs docs/FUTURE.md
Milestone
Description
Metadata
Metadata
Assignees
Labels
area:securityAuth, sessions, account & data privacyAuth, sessions, account & data privacyenhancementNew feature or requestNew feature or requestneeds-scopingDirection agreed but needs design/scoping before implementationDirection agreed but needs design/scoping before implementationpost-mvpDeferred beyond the MVP; net-new vs docs/FUTURE.mdDeferred beyond the MVP; net-new vs docs/FUTURE.md
Part of #417 (compliance-readiness epic).
needs-scoping. Transport security and encryption-at-rest are currently fully delegated to the operator. That is defensible for self-hosting, but it should be (a) documented and (b) made easy to get right with sensible in-app defaults.Current state
URL::forceScheme('https'), no HSTS header, no forced-HTTPS middleware.config/session.phpsecurecookie =env('SESSION_SECURE_COOKIE'), unset by default.grepforencryptedcasts /Crypt::is empty);passwordis hashed only.localdisk, unencrypted; S3 available as a config flip with no SSE config.docker-compose.prod.ymlexplicitly makes TLS the operator's responsibility (reverse proxy).Scope to decide, then implement
FORCE_HTTPS/ trusted-proxy aware) so operators behind a terminating proxy get correct scheme + HSTS without hand-rolling it.SESSION_SECURE_COOKIEin production and document it.docs/self-hosting/.docs/reference/environment-variables.md; tests + 100% coverage for in-app behavior.Scope the encryption-at-rest decisions before implementing — much of this may resolve to documentation + a couple of opt-in toggles rather than pervasive field encryption.