dorfteich/apps/web/src
Claude Fable 5 13f0311d8e
Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 6m55s
CI / Build container images (pull_request) Successful in 4m43s
CI / Auth e2e pack (pull_request) Successful in 9m13s
CI / Import/export fidelity gate (pull_request) Successful in 1m4s
CD / Deploy to Test (push) Blocked by required conditions
CD / Smoke tests against Test (push) Blocked by required conditions
CD / Promote to Int (push) Blocked by required conditions
CI / Auth e2e pack (push) Blocked by required conditions
CI / Import/export fidelity gate (push) Blocked by required conditions
CI / Build container images (push) Blocked by required conditions
CI / Lint, typecheck, test (push) Has been cancelled
CD / Build and push images (push) Has been cancelled
#216: hard AUTH_LOCAL_ENABLED switch over every local credential flow
The deploy-level realization of auth.local.enabled (ADR 0021): FALSE
answers 404 on every local credential flow — login, signup, e-mail
verification, resend, password forgot/reset/change — enforced centrally
in the auth guard via the @LocalCredentialFlow() marker before any
session or CSRF logic runs. Deploy-level on purpose: a compromised Site
Admin cannot reopen the local path, so the runtime-flip residual risk
from ADR 0021 does not materialize (R-02 closed in the risk list).

An enumeration fence fails when an auth route is neither marked nor on
the reviewed allowlist, so a new credential flow cannot ship unswitched.
Stated decisions, each tested: sessions/logout keep working for
externally authenticated users; PAT and feed-token issuance stays
available (API authorization under its own switches, not interactive
sign-in). Bootstrap: complete setup (or SETUP_ADMIN_* pre-seed) before
flipping; the api warns at boot when local auth is off with neither OIDC
nor proxy auth configured. GET /auth/methods reports local:false and the
login page hides the local form and credential links.

Hardening guide: the planned auth.local.enabled row moves from 1.3 into
the live deploy table with the bootstrap ordering, and the verification
checklist gains the login-404 probe.

Refs #216.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AUtYMxwTCMHG9mVHnwbFg8
2026-07-31 12:58:07 +02:00
..
access Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
api-tokens #168: Formulare — Fehler-Verdrahtung und Namenslücken 2026-07-21 14:26:54 +02:00
auth Add offline editing: local persistence, PWA shell, offline resolution (#38) 2026-07-08 22:08:55 +02:00
comments #133 Kommentare fest inline im Lesemodus (Slide-in-Panel ablösen) 2026-07-19 01:22:22 +02:00
components #207: print stylesheet with the classification on every printed sheet 2026-07-31 06:48:44 +02:00
editor #169: Nicht-Text-Inhalte — Task-Checkboxen, Wissensgraph 2026-07-21 14:35:16 +02:00
export Move page actions into the TopBar as self-hosted icon buttons (#101) 2026-07-12 04:39:42 +02:00
favorites Favorites: personal page stars, golden icons, sidebar filter (#132) 2026-07-16 12:03:55 +02:00
files #213: warn on uploads to classified pages; instance policy can block 2026-07-31 07:33:34 +02:00
fonts Add per-pond fonts: catalog, build, application, and admin UI (#66) 2026-07-10 11:16:29 +02:00
graph #170: Statusmeldungen, Einzeltasten-Shortcuts, Bewegung 2026-07-21 14:39:03 +02:00
i18n #163: Dokumentsprache und Seitentitel der SPA 2026-07-21 13:52:59 +02:00
import #162: Fokus-Management für Dialoge und Such-Palette 2026-07-21 13:52:59 +02:00
labels Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
layout #182: top-bar theme toggle — cycle light/dark/system without a menu 2026-07-29 08:43:42 +02:00
lib #170: Statusmeldungen, Einzeltasten-Shortcuts, Bewegung 2026-07-21 14:39:03 +02:00
links Offer creating the page on the not-found screen (#115) 2026-07-14 16:45:27 +02:00
members Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
notifications Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
offline Add offline editing: local persistence, PWA shell, offline resolution (#38) 2026-07-08 22:08:55 +02:00
pages #216: hard AUTH_LOCAL_ENABLED switch over every local credential flow 2026-07-31 12:58:07 +02:00
plugins draw.io reference plugin: fullscreen editing, inline SVG rendering 2026-07-12 14:15:30 +02:00
ponds Pond lifecycle in the UI: create shared ponds, delete from settings 2026-07-12 19:15:34 +02:00
search #211: classification through feeds, public API, search and the no-JS shell 2026-07-31 07:23:53 +02:00
setup Add the first-run setup wizard UI (#81) 2026-07-11 16:05:01 +02:00
styles #214: OIDC Authorization Code with PKCE, Keycloak as reference IdP 2026-07-31 12:44:52 +02:00
theme #186: pond accent theming — scoped derivation, cascade pond > user > default 2026-07-29 09:09:36 +02:00
watches Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
App.tsx Pond knowledge graph view (#112) 2026-07-14 10:59:07 +02:00
main.tsx #207: print stylesheet with the classification on every printed sheet 2026-07-31 06:48:44 +02:00