fix: protect browser mutations from CSRF and retire cli auth #298
No reviewers
Labels
No labels
activitypub
admin
api
architecture
articles
auth
bug
cleanup
cli
comments
compatibility
config
contacts
content
database
deployment
design
dev-env
diagnostics
docs
documentation
email
enhancement
feature
federation
feed
health
homepage
implementation
integration
logging
mastodon
media
navigation
npm-packages
openapi
opengraph
packages
passkeys
preview
priority:high
priority:low
priority:medium
production
proof
proxy
public-routes
public-ui
release
safety
slug-api
slug-auth
slug-core
slug-federation
slug-media
slug-template
social
sources
status:active
status:canceled
status:done
status:inprogress
status:waiting
syndication
tailwind
template
test
web
webauthn
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
erik/slugkit!298
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/task-b7cd625f-browser-csrf"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Verification
NEVER browser/container/federation integration tests or test runtime provisioning in CI/release workflows. Browser and integration verification stays local. Existing generated/deployed sites require separately approved upgrade/backport and deployment to receive these changes.
Task: #task-b7cd625f
Related completed CLI fix: task-695242ef / PR #297.
Awaiting CI, independent review and explicit human merge approval.
Review update
67ccef84c86a99ca3d9788348f5da9a042dd4108.Summary
Independent review compared the complete PR diff, task
task-b7cd625f, and supplied evidence artifacts against all 9 acceptance criteria. The changes implement a browser-only shared CSRF boundary for current cookie-authenticated site flows, retire/cli/authwithout compatibility scaffolding, keep bearer API/CLI behavior unchanged, and document origin/key/rotation/custom-route guidance.Acceptance criteria
Originplus signed token validation; tests snapshot DB state and assert no storage upload before validation./auth/checkand bearer writes remain token-free, while Authorization headers do not bypass cookie-route CSRF checks./logoutis non-mutating;/cli/authroute/template/tests are deleted; GET/POST retired route behavior is 404 with no redirect or API-key creation./settings/api-keysand API-onlyslug login; no older-CLI browser-flow compatibility promise or shim remains.Review findings
/tmp/slugkit-csrf-pre-pr.log(CSS/format/lint/types + 1,226 local tests),/tmp/slugkit-csrf-unit-ci.log(1,141 unit-only tests),/tmp/slugkit-csrf-build.log(workspace build),/tmp/slugkit-csrf-browser.log(37 browser cases), plus PR diff/commits/files. No tests or builds were rerun during review.Verdict
Approved. Human merge approval is still required.