Repository navigation
feat(admin): require scoped support grants for customer org access - #9618
pandemicsyn wants to merge 25 commits into
Conversation
…into feat/admin-support-org-access
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe incremental commit Assumptions: Files Reviewed (10 files)
Previous Review Summaries (7 snapshots, latest commit 2af43cb)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 2af43cb)Status: No Issues Found | Recommendation: Merge Executive SummaryThe incremental commit Assumptions: Verification Notes
Files Reviewed (12 files)
Previous review (commit 1f2f0ee)Status: 2 Issues Found | Recommendation: Address before merge Executive SummaryThe incremental commit correctly restores grant-class precedence and stops expired/revoked grants from masking real denial reasons, but the new self-deny/self-review UI guards compare against the auth-provider subject instead of the Kilo user id, so they stay inert for Google and magic-link admins. Assumptions: Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (9 files)
Fix these issues in Kilo Cloud Previous review (commit 28ac13e)Status: 2 Issues Found | Recommendation: Address before merge Executive SummaryThe binary on/off conversion is consistent across the access-resolution call sites, but Assumptions: Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (44 files)
Fix these issues in Kilo Cloud Previous review (commit 67e5946)Status: 2 Issues Found | Recommendation: Address before merge Executive SummaryThe observe-mode follow-up now derives the REST decision from the admin's real membership, but the same derivation also runs in Assumptions: Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (7 files)
Fix these issues in Kilo Cloud Previous review (commit 9393ea3)Status: 4 Issues Found | Recommendation: Address before merge Executive SummaryThe incremental follow-ups fix the previous off/observe admin fast-path regression, but the observe-mode decision recorded for admin members is still not what enforcement would reach, and the emergency-issuance permission mismatch remains. Assumptions: Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (11 files)
Fix these issues in Kilo Cloud Previous review (commit c2b4841)Status: 4 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (30 files)
Assumptions: Fix these issues in Kilo Cloud Previous review (commit b2c161e)Status: 8 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
SUGGESTION
Assumptions: Files Reviewed (53 files)
Reviewed by deepseek-flash-latest · Input: 126.7K · Output: 16.3K · Cached: 1.9M Review guidance: REVIEW.md from base branch |
…to feat/admin-support-org-access # Conflicts: # apps/web/src/app/admin/layout.tsx # apps/web/src/lib/user/index.test.ts # apps/web/src/routers/admin-platform-admins.test.ts # apps/web/src/routers/admin-router.ts # packages/db/src/migrations/meta/0325_snapshot.json # packages/db/src/migrations/meta/_journal.json # packages/db/src/schema-types.ts # packages/web-shared/src/lib/admin/admin-access-log.test.ts # packages/web-shared/src/lib/admin/admin-access-log.ts # packages/web-shared/src/lib/admin/privileged-inventory.ts # packages/web-shared/src/lib/trpc/transport.test.ts
…to feat/admin-support-org-access # Conflicts: # ENVIRONMENT.md # packages/db/src/migrations/meta/0333_snapshot.json # packages/web-shared/src/routers/organizations/utils.ts
…to feat/admin-support-org-access
What changes
Part 4 of the admin lockdown stack. Ends automatic owner access to customer orgs, controlled by one switch.
SUPPORT_ACCESS_ENABLEDunset (default): admin access works as today.SUPPORT_ACCESS_ENABLED=true: an admin who isn't a member of an org needs a support grant for it, requested from/admin/support-accesswith a reason.Always on: members no longer inherit access from a deleted parent org (bug fix).
Before merge / deploy
support_access_grants,support_access_grant_events) runs automatically in the deploy pipeline.Before turning it on
ADMIN_STEP_UP_ENABLED=true(feat(admin): require session-bound passkey step-up for admin access #9615) must be on, or write grants are refused.Verification
Automated tests only. A staging walkthrough is planned before turning it on.
Visual Changes
New
/admin/support-accesspage and an org banner while a grant is active.