Skip to content

Persist and synchronize range-scoped fingerprint approvals - #19

Merged
kilo666mj merged 2 commits into
mainfrom
task/scoped-approval-design
Sep 28, 2026
Merged

kilo666mj merged 2 commits into
mainfrom
task/scoped-approval-design

Conversation

@kilo666mj

@kilo666mj kilo666mj commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Scoped approvals now persist a validated set of client CIDRs alongside a fingerprint verdict. Status, label, scope and synchronization cursor commit atomically, preventing transient unrestricted approvals and partial policy batches. Legacy rows remain unrestricted; old setters cannot silently remove a scope.

The shared approval package normalizes IPv4/IPv6 prefixes and rejects malformed/empty scopes. Gates must explicitly advertise enforcement capability before accepting restricted policy. Documentation covers mixed-version rollout and downgrade hazards.

Validation: full Go tests, race tests and vet; legacy migration, restart, failed-transaction rollback, malformed-policy rejection and real TLSGate forwarding tests against this module; unchanged SSHGate consumer checked; source documentation validator passes. No production fingerprint changes are included.

@kilo666mj kilo666mj changed the title Design range-scoped fingerprint approvals Persist and synchronize range-scoped fingerprint approvals Sep 28, 2026
@kilo666mj
kilo666mj marked this pull request as ready for review September 28, 2026 08:45
@kilo666mj
kilo666mj merged commit 949b6f6 into main Sep 28, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant