Block a user
Move legacy admin service and governance helpers into access module
Codex State: done
Summary
- The legacy admin service and governance helpers are owned by govoplan_access.backend.admin.
- Core compatibility paths govoplan_core.admin.service and…
Move legacy admin API router behind access module manifest
Move legacy admin API router behind access module manifest
Codex State: done
Summary
- The access manifest contributes the access-owned admin router, and module startup verifies /api/v1/admin/users without core base router registration.
- Legacy…
Move interactive auth routes behind access module manifest
Move interactive auth routes behind access module manifest
Codex State: done
Summary
- The access manifest contributes the interactive auth router, including /api/v1/auth/login, through module startup.
- Core no longer needs a base auth router;…
Move session and API-key helper services into access module
Move session and API-key helper services into access module
Codex State: done
Summary
- Session, API-key, and password helpers are owned by govoplan_access.backend.security.
- Restored govoplan_core.security compatibility wrappers that re-export…
[Task] Carefully scoped encrypted PDF handling
[Task] Read annotations, then evaluate annotation writing
[Task] Read bookmarks, then evaluate bookmark editing
[Feature] Add tools directly in the preview overlay
[Task] Consolidate frequently used actions into a toolbar
[Feature] Add custom long-press drag on mobile
[Feature] Support drag-and-drop of PDFs into the page grid at the hovered position