Row Level Security: a bouncer for every table

About 50 minutesYou need: Cursor with adjoas-kitchen and the Supabase MCP (Lessons 7.2 and 7.3), the Supabase dashboard in Chrome, and your notebook
This video is in the full courseGet the course to watch every video and read every lesson in full. GHS 399, paid once.Get the course · GHS 399
Video · 16:44
Goal

Understand Row Level Security, write the rules by prompt so that anyone can read the menu and place an order but nobody can read the orders, and prove each rule works yourself with the 3-question check.

Why this matters

This is the most important lesson in the course. Not the most exciting, the most important.

Here's why. In Lesson 7.5, your website will talk to Supabase using a publishable key, and that key will be inside the browser code that every visitor downloads (Lesson 6.4: anything public is public). So anyone, anywhere, can take that key and send their own requests to Adjoa's database. That's normal: it's how Supabase is designed. The only thing standing between a stranger and every customer's phone number is the set of rules you write today.

Getting this wrong is how real apps leak real customers' data. And the AI won't always save you: when an error says "permission denied", the quickest "fix" an AI can offer is to switch the rules off. That's why this course doesn't let the AI have the final word on security. Cursor writes the rules. You check them with three questions, and you prove them by trying to break in.

If this feels serious, good. It is. It's also very doable: two tables, four rules, three questions.

In the full lesson

  1. The idea in plain English
  2. Do it
  3. The prompt
  4. Check it worked
  5. Understand what AI wrote
  6. Quick check
  7. What you can do now
Stage 2 · Make it workYou’ve seen the why. The how is in the course.

The step-by-step, the prompt to copy, the video and the check-it-worked list, for every lesson in all 15 modules. GHS 399 ($40), paid once by mobile money or card, yours to keep.

Get the course · GHS 399See what’s inside
Already have the course? Open the full lesson