Add Gatekeeper plugin to community-plugins.json - #2
Open
Gldywn wants to merge 1 commit into
Open
Conversation
Gatekeeper is a third-party plugin that gates agent-proposed SQL behind a human approval inside Beekeeper Studio, on the app's existing connection. Repo: Gldywn/gatekeeper
Gldywn
marked this pull request as ready for review
August 29, 2026 20:03
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.
Gatekeeper puts a human approval in front of every SQL statement an AI agent proposes. The agent submits SQL over MCP, the statement shows up in Beekeeper Studio, and it only runs after someone clicks approve on the visible SQL text. Read-only is the default.
gatekeeper-demo.mp4
Entry added to
community-plugins.json, since Gatekeeper is a third-party plugin and not published by Beekeeper Studio.Security model
The agent is treated as untrusted input, and the human approval is the security boundary.
INSERT/UPDATE) and destructive (DELETE/DROP/TRUNCATE/ALTER) statements need a mode the human arms explicitly, with a second confirmation by default. That mode lives in memory only, is never persisted, and resets to read-only on connection switch or re-pair. The plugin re-classifies the statement and re-checks the armed mode at execution time.127.0.0.1, rejects any request whoseHostheader is not the expected loopback host (421, DNS-rebinding defense), and requires anAuthorization: Bearercapability token on every request. The token is generated on first run, stored0600inside a0700directory, and reaches the plugin through a single-use 6-digit pairing code with an attempt cap.[U+XXXX]markers in the approval card, the audit trail and every export, so the reviewer sees exactly what was submitted. The executed SQL is never altered by that display step.Limits are documented rather than glossed over: read mode limits statement shape, not runtime side effects of volatile functions, and the capability token does not create a boundary between two processes running as the same OS user. Both are stated in SECURITY.md, along with the threat model, retention windows and the supply-chain policy.
Registry readiness
manifest.jsonandgatekeeper-0.2.0.zip, with the tag matching the manifest version.manifest.json:idgatekeeper,manifestVersion1,minAppVersion5.4.0, onebase-tabview and a Tools menu command.The entry points at the repository rather than a fixed version, so the plugin manager keeps resolving the latest release.
Links