odysseus/docs
Léo b19d327f03
fix(auth): derive the session cookie Secure flag from the request scheme (#6048)
* fix(auth): derive the session cookie Secure flag from the request scheme

SECURE_COOKIES only marked the login cookie Secure when it was explicitly
set to true, so an HTTPS login on an install that never set it handed out a
session cookie the browser is happy to send back in cleartext.

Unset now derives the flag from the request: the connection scheme, which
uvicorn's proxy-headers middleware rewrites for the proxies it trusts, or
X-Forwarded-Proto for a terminator that is not on a trusted address. That
is the same test core/middleware.py already applies before sending HSTS, so
the two stop disagreeing about whether a request arrived over TLS. An
explicit true still forces the flag on and an explicit false turns it off
for an install still answering on both HTTP and HTTPS. Strictly more Secure
flags than before and never fewer.

Empty counts as unset, because docker-compose pinned SECURE_COOKIES=false
for every container; the compose files now pass the variable through
unset, the way FASTEMBED_CACHE_PATH already does.

The helper and its decision order come from #3799, which was closed for
being too large to review and whose six replacement PRs dropped this fix.

Part of #3803.

* docs(setup): flag the leftover SECURE_COOKIES=false on upgrades

The old default was false, so an install set up before scheme derivation
can still carry an explicit SECURE_COOKIES=false in its own .env. That
value stays authoritative, so HTTPS logins keep getting a non-Secure
session cookie even after the tracked compose defaults are updated by a
pull. Say so where people look: the security notes and the variable's
own comment in .env.example.

* docs(setup): align TLS guidance with scheme-derived cookies

---------

Co-authored-by: Alexandre Teixeira <alexandremagteixeira@gmail.com>
2026-08-16 22:56:36 +01:00
..
agent-migration.md docs: add agent migration manifest helper (#3028) 2026-06-15 15:57:33 +09:00
attachments.md fix(stabilization): harden attachment lifecycle and agent guard signals (#5420) 2026-07-11 15:14:14 +01:00
backup-restore.md docs: add backup/restore guide for odysseus-backup (#2587) 2026-06-15 20:26:47 +09:00
bg.webm Odysseus v1.0 2026-05-31 23:58:26 +09:00
chat.webm Odysseus v1.0 2026-05-31 23:58:26 +09:00
compare.webm Odysseus v1.0 2026-05-31 23:58:26 +09:00
document.webm Odysseus v1.0 2026-05-31 23:58:26 +09:00
email-outlook.md docs(email): clarify Outlook password auth failures 2026-06-08 15:32:16 +01:00
gallery.webm Odysseus v1.0 2026-05-31 23:58:26 +09:00
index.html chore: update repository URLs after organization transfer (#5622) 2026-07-20 16:43:47 +02:00
notes.webm Odysseus v1.0 2026-05-31 23:58:26 +09:00
odysseus-browser.jpg Refresh README screenshot 2026-06-22 04:54:15 +00:00
odysseus-wordmark.png Refresh README presentation 2026-06-15 23:26:10 +09:00
odysseus.jpg Refresh README screenshot 2026-06-22 04:54:15 +00:00
pr-blocker-audit.md tools: add read-only PR blocker audit helper 2026-06-04 12:51:48 +01:00
research.webm Odysseus v1.0 2026-05-31 23:58:26 +09:00
security-ci.md ci: add CodeQL advanced setup to scan pull requests before merge (#5250) 2026-07-21 10:18:06 -07:00
setup.md fix(auth): derive the session cookie Secure flag from the request scheme (#6048) 2026-08-16 22:56:36 +01:00
theme.webm Odysseus v1.0 2026-05-31 23:58:26 +09:00