Release: develop -> main - #4573
Merged
Merged
Conversation
* Base staff clearance on a verified name rather than a KYC level Staff clearance required a KYC level of 50 on top of a verified name. That level is unreachable for the DEBUG role — which is not part of the USER role hierarchy and so cannot traverse the KYC flow — and impossible for the service accounts that legitimately hold a gated role, so those callers could never satisfy the gate. Base clearance on the verified name alone. A verified name is only ever set by an identity-verified path or a reviewed migration, never self-service, so it remains the authoritative identification signal behind a gated account. The role condition, the fail-closed semantics, and the blank-name handling are unchanged. * Require a verified name before assigning an elevated role Clearance now rests on the verified name, so the write side must uphold the same invariant: an account may only be given a gated role (Admin, Debug, Compliance, Support, RealUnit) when a verified name is already behind it. Without this, a faceless staff account with no identification signal could be created and would immediately be cleared. Guard the admin role assignment in updateUserInternal — the only API path that sets an arbitrary role (PUT /user/:id via UpdateUserInternalDto; sign-up and self-service DTOs carry no role field, and createUser only ever receives an internal, non-gated role). Blankness matches the clearance definition, and the account data is reloaded when the relation was not hydrated so the check cannot be slipped past. * Update the protected-file test to the verified-name message The staff-clearance message no longer mentions a KYC level, so the getFileByUid protected-file assertion must match the verified-name wording instead.
github-actions
Bot
requested review from
TaprootFreak and
davidleomay
as code owners
August 1, 2026 11:39
TaprootFreak
approved these changes
Aug 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automatic Release PR
This PR was automatically created after changes were pushed to develop.
Commits: 1 new commit(s)
Checklist