AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Rls Policy

skill-m-binimran-dev-pack-rls-policy · by m-binimran

Write and test Supabase/Postgres Row-Level Security policies so users can only access their own rows. Use when a table holds user data, when enabling RLS, or when auditing access control on Supabase.

No reviews yet
0 installs
36 views
0.0% view→install

Install

$ agentstack add skill-m-binimran-dev-pack-rls-policy

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-m-binimran-dev-pack-rls-policy)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Rls Policy? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

rls-policy

On Supabase, RLS is the real authorization boundary. The anon/auth keys reach the DB directly, so a missing policy = open data.

Process

  1. Enable RLS on the table: alter table X enable row level security; (denies all by default).
  2. Write explicit policies per operation (select, insert, update, delete) — don't use one

for all policy unless the rule is genuinely identical.

  1. Scope by auth.uid() for owner-based access:

``sql create policy "owners read" on profiles for select using (auth.uid() = user_id); create policy "owners write" on profiles for insert with check (auth.uid() = user_id); ` using filters existing rows; with check validates new/changed rows. Insert/update need with check`.

  1. Test both directions: the owner CAN, a different user CANNOT. State both tests.

Patterns

  • Public-read, owner-write: select using (true), write policies gated by auth.uid().
  • Team access: join through a membership table inside the using expression.
  • Service tasks: use the service-role key on the server only — it bypasses RLS, so never expose it client-side.

Guardrails

  • Never disable RLS to "make it work." Fix the policy.
  • with check is required on insert/update or users can write rows they can't read back.
  • The service-role key is a secret — server-side only (the secret-scan hook will catch it in client code).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.