SECURITY - PLATFORM: internal token and staging plan

This commit is contained in:
Codex
2026-05-12 12:49:58 +03:00
parent 9d7f8167d3
commit 95072586b9
5 changed files with 143 additions and 4 deletions
+15 -4
View File
@@ -1,5 +1,7 @@
# Security Checklist
Staging path and runbook: `docs/STAGING_SECURITY_PLAN.md`.
## Network
- [x] Local dev compose публикует только reverse proxy port.
@@ -26,6 +28,8 @@
- [ ] Admin endpoints требуют `nodedc:superadmin` или `nodedc:launcher:admin`.
- [ ] Все admin actions пишутся в audit log.
- [ ] Удаление пользователя реализовано как deactivate/disable, не hard delete.
- [x] Local runtime не отдает `storage/launcher-data.json` напрямую через public static route.
- [x] Local runtime требует user session для `/api/storage/data`.
## Plane
@@ -43,13 +47,20 @@
- [ ] Access/refresh tokens не логируются.
- [ ] Session cookies имеют `secure=true` в staging/production.
- [ ] В production включены HTTPS и HSTS.
- [x] Local internal API token отделен от `PLANE_OIDC_CLIENT_SECRET`.
- [x] Launcher internal access API отклоняет запросы без token, с неверным token и со старым OIDC client secret.
- [x] Tasker internal logout API отклоняет запросы без token и со старым OIDC client secret.
## Acceptance scenarios
- [ ] Без логина Launcher отправляет в Authentik.
- [ ] Пользователь без `nodedc:taskmanager:access` не видит Task Manager в Launcher.
- [ ] Пользователь без `nodedc:taskmanager:access` получает deny на прямой `task.local.nodedc`.
- [x] Без логина Launcher отправляет в Authentik.
- [x] Пользователь без Task Manager app access не видит Task Manager в Launcher.
- [x] Пользователь без Task Manager app access получает deny в Tasker access middleware при прямом доступе.
- [ ] Пользователь с доступом открывает Task Manager.
- [ ] Старый Plane admin после OIDC видит старые workspace/tasks/comments.
- [ ] Деактивированный пользователь теряет доступ.
- [ ] Admin action появляется в audit log.
- [x] Hard-deleted/annulled user теряет stale Tasker identity link и старая unlinked-сессия отзывается middleware.
- [x] Hard-deleted/annulled user удаляется из active Tasker workspace/project members и issue assignees.
- [x] Self-host Tasker workspace invite создает pending request в Launcher, а launcher-managed workspace не принимает self-service invite request.
- [x] Admin action появляется в audit log.
- [x] Повторный accept уже принятого invite отклоняется.