skip to content
fizzgig
sign in
// suite
architectureknow what you builtoperationsknow it’s runningauditknow it’s safe to shipintegrationspricingdocschangelog
// community
sourdough startersproject kicks-off in 1 prompt
sign inrequest access →
audit suite/security/rls_checker
securityv0.6.0free

fizzgig__rls_checker

checks supabase row-level-security policies for the 8 canonical leak shapes.

// ai does this over time

the AI ran your supabase migration, the app works, you ship. three weeks later someone reads a user table they shouldn't because the policy was USING (true) and you never noticed. the AI scaffolds RLS like a checkbox: gets the structure right, gets the auth scoping wrong.

// the tool does

scans SQL migrations for 8 RLS misconfiguration patterns: tables with RLS not enabled, RLS explicitly disabled, USING (true) policies, USING with no auth scoping, INSERT/UPDATE missing WITH CHECK (the row-reassignment bug), policies attached to the public role, auth.role() vs auth.uid() confusion, SECURITY DEFINER functions bypassing RLS. Returns ranked findings with copy-paste fix SQL.

// so you can

run before every migration. the 8 shapes account for the vast majority of vibe-coded supabase leaks.

● live● v0.6.0● free
// input schema
schema · application/json
{
"type": "object"
"required": [
"project"
]
"properties": {
"project": {
"type": "string"
"description": "the project slug or path"
}
"strict": {
"type": "boolean"
"default": false
"description": "fail on warnings, not just errors"
}
}
}
// output schema
schema · application/json
{
"type": "object"
"properties": {
"ok": {
"type": "boolean"
}
"findings": {
"type": "array"
"items": {
"type": "object"
"properties": {
"severity": {
"enum": [
"info"
"warn"
"high"
"critical"
]
}
"message": {
"type": "string"
}
"fix": {
"type": "string"
}
}
}
}
}
}
// example call from cursor
~/myapp - example output
→ fizzgig__rls_checker(project="myapp")
{
"ok": false,
"findings": [
{ "severity": "high",
"message": "policy uses user_id without auth.uid()",
"fix": "USING (auth.uid() = user_id)" }
],
"scanned": 3, "duration_ms": 142
}
// reviews
@maya.codes★★★★★
2 days ago

caught a policy that would have leaked every user's comments. shipped a fix in 4 minutes.

@solo_at_3am★★★★★
1 week ago

first tool i installed. it's the one that pays for itself.

@vibebuilder★★★★☆
2 weeks ago

works great. one false positive on a join table - easy to ignore.

// primary action

add to your editor

paste this into your mcp config.
.cursor/mcp.json
{
  "fizzgig": {
    "url": "https://mcp.fizzgig.ai",
    "tools": ["rls_checker"]
  }
}
full setup guide →
// pricing
free
unlimited calls on the free tier.
// related tools
secret_leak_finder
v0.9.0
→
env_auditor
v0.4.0
→
dep_audit
v0.5.0
→
fizzgig

the fluffy guardian of vibe-coded products. growls at insecure code so you don't have to.

all systems operational

suite

architectureoperationsauditintegrationspricingdocschangelog

community

sourdough startersdiscord (soon)github (soon)x / twitter (soon)rss (soon)

company

aboutcontacttermsprivacycookies
© 2026 fizzgig.
v1.5.0 · 2026-07-26
AI usage: fizzgig uses AI internally (Anthropic Claude, Google Gemini, OpenAI embeddings) to power audit checks, summarise decisions, and rank findings. Content surfaced from these tools is labelled as such in the dashboard. No user data is used to train third-party AI models — see our privacy policy for the full sub-processor list.