Scrum4Me/docs
Madhura68 c87b6156ae docs(ST-1008): document QR-pairing endpoints, flow, threat-model + pattern
docs/API.md — nieuwe sectie 'Auth — QR-pairing (M10)' met alle drie endpoints
(start, stream, claim), cookie-mechaniek, foutcodes (400/401/410/429),
curl-voorbeelden inclusief --cookie-jar.

docs/scrum4me-architecture.md — sectie 'QR-pairing flow' met:
- Mermaid sequence-diagram (start → QR → scan → approve → claim)
- Threat-model (replay, phishing-QR, demo-block, rate-limit, secret-leak,
  long-lived sessie) met expliciete mitigaties
- TTL-rationale voor de drie tijden (5min pending / +5min approved / 8u paired)
- Subsectie 'Waarom geen secret in URL' — fragment-eigenschap + HttpOnly
  cookie + twee gescheiden hashes

docs/patterns/qr-login.md — herbruikbaar pattern 'QR-pairing via unauth-SSE +
pre-auth cookie' met de drie endpoints, vier security-uitgangspunten,
sjabloon-bestanden, TTL-richtlijn, en wanneer NIET te gebruiken.

CLAUDE.md — extra rij in Implementatiepatronen-tabel die naar het nieuwe
pattern-doc verwijst.

Acceptatie ST-1008 (zeven scenario's):
- Happy path: gedekt door manuele E2E in vorige stories (gebruiker bevestigde
  dat M10-stories op Solo bord verschijnen + curl-roundtrip werkt)
- Demo-block: actions/pairing.test.ts → approvePairing demo → Niet beschikbaar
- Replay: pair-claim.test.ts → 410 op tweede claim
- Expiry tijdens pending: pair-stream.test.ts + pairing.test.ts → 410/error
- Expiry tussen approve+claim: pair-claim.test.ts → 410
- Cookie-mismatch op SSE/claim: pair-stream.test.ts + pair-claim.test.ts → 401
- Secret niet in URL/logs: per ontwerp — fragment + cookie reizen niet via
  URL-paden of querystrings (gedocumenteerd in architecture.md)

Quality gates: lint 0 errors, tsc clean, vitest 139/139 (16 files).

M10 is hiermee compleet — feat/M10-qr-login bevat 13 commits klaar voor
gebruiker-acceptatie en PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 23:26:35 +02:00
..
patterns docs(ST-1008): document QR-pairing endpoints, flow, threat-model + pattern 2026-04-27 23:26:35 +02:00
plans M10: Password-loze inlog via QR-pairing — backlog + implementatie-plan (#11) 2026-04-27 21:49:56 +02:00
agent-instruction-audit.md docs(workflow): align CLAUDE.md with M7 and post-PR-#2 contract (#4) 2026-04-27 00:28:58 +02:00
API.md docs(ST-1008): document QR-pairing endpoints, flow, threat-model + pattern 2026-04-27 23:26:35 +02:00
erd.svg Todo description, entity codes, REST API extensions and Claude Code hardening (ST-509/511/512/513) (#2) 2026-04-26 23:40:54 +02:00
icons.html chore: documentatie naar docs/, iconen bijgewerkt, theme.css verplaatst 2026-04-24 22:51:42 +02:00
MD3_Color_Scheme_Documentation.md chore: documentatie naar docs/, iconen bijgewerkt, theme.css verplaatst 2026-04-24 22:51:42 +02:00
scrum4me-architecture.md docs(ST-1008): document QR-pairing endpoints, flow, threat-model + pattern 2026-04-27 23:26:35 +02:00
scrum4me-backlog.md M10: Password-loze inlog via QR-pairing — backlog + implementatie-plan (#11) 2026-04-27 21:49:56 +02:00
scrum4me-functional-spec.md M10: Password-loze inlog via QR-pairing — backlog + implementatie-plan (#11) 2026-04-27 21:49:56 +02:00
scrum4me-personas.md M10: Password-loze inlog via QR-pairing — backlog + implementatie-plan (#11) 2026-04-27 21:49:56 +02:00
scrum4me-product-backlog.md chore: SQLite verwijderd — alleen PostgreSQL via Neon 2026-04-25 12:15:19 +02:00
scrum4me-styling.md chore: documentatie naar docs/, iconen bijgewerkt, theme.css verplaatst 2026-04-24 22:51:42 +02:00
scrum4me-test-plan.md docs(tests): add scrum4me-test-plan.md with full API test plan and planning 2026-04-25 18:47:20 +02:00
solo-paneel-spec.md docs(ST-355): add Solo Paneel implementation spec 2026-04-26 20:49:29 +02:00