Question
Does S5 use one Durable Object for every customer session?
No. Each high-entropy tokenId selects its own SessionVault object. One hot session still converges on one single-threaded object; different sessions are sharded.
Origin issues weak PHPSESSID / AUTHTOKEN.
This host vaults them and gives the browser only opaque
__rs_sid (Secure; HttpOnly; SameSite=Strict).
Does S5 use one Durable Object for every customer session?
No. Each high-entropy tokenId selects its own SessionVault object. One hot session still converges on one single-threaded object; different sessions are sharded.
__rs_sid cookie.Validation result
The result shows pass/fail checks without printing session values. Use DevTools → Application → Cookies to confirm the browser has __rs_sid, not the origin session names.
The direct origin sends its weak session cookies directly to the client.
rm -f /tmp/s5-origin.txt curl -sS -c /tmp/s5-origin.txt -D - https://s5-origin.thecompany-lab.com/issue -o /dev/null cat /tmp/s5-origin.txt
The capability should issue only the opaque client token and must not expose origin session cookies.
rm -f /tmp/s5-cap.txt curl -sS -c /tmp/s5-cap.txt -b /tmp/s5-cap.txt -D - https://s5.thecompany-lab.com/issue -o /tmp/s5-issue.json cat /tmp/s5-cap.txt # Inspect headers: expect __rs_sid; no PHPSESSID/AUTHTOKEN
The origin should receive the vaulted session values while the client supplies no raw origin cookies.
curl -sS -c /tmp/s5-cap.txt -b /tmp/s5-cap.txt https://s5.thecompany-lab.com/whoami | jq '{source, rawClientSession, received: (.received | keys)}'Origin rotation should update the vault mapping behind the same __rs_sid.
curl -sS -c /tmp/s5-cap.txt -b /tmp/s5-cap.txt https://s5.thecompany-lab.com/rotate | jq .
curl -sS -b /tmp/s5-cap.txt https://s5.thecompany-lab.com/whoami | jq '{source, rawClientSession}'After logout, the next authenticated request should fail closed.
curl -sS -c /tmp/s5-cap.txt -b /tmp/s5-cap.txt -D - https://s5.thecompany-lab.com/logout -o /dev/null
curl -sS -b /tmp/s5-cap.txt -o /dev/null -w '%{http_code}\n' https://s5.thecompany-lab.com/whoami # expect 401 or redirect