
How to run coding agents safely: permissions, sandboxes and secrets
How to run coding agents safely with Claude Code permission modes, Codex sandbox and approval settings, deny rules, and habits that keep secrets out of reach.
A vibe coding security checklist for AI-built apps: secrets, access control, dependencies, errors and agent settings, plus a Next.js and Supabase .gitignore.
Five short sections, about 30 minutes. Most time goes to access control, the #1 risk in the OWASP Top 10:2025.
## 2. Access control (10 min)
Broken Access Control is #1 in the OWASP Top 10:2025. Spend the most time here.
- [ ] Every table in an exposed schema (usually `public`) has Row Level Security enabled.
- [ ] Each table has a policy for each operation the app uses: select, insert, update, delete.
- [ ] **Two-user test:** sign in as user A, copy a request for A's record, and replay it as user B. B must get nothing.
- [ ] Admin routes and API handlers check the role on the server, not just by hiding buttons.
- [ ] File storage buckets are private unless the files are meant to be public.
.gitignore for Next.js and Supabase.gitignore if you don't have one.Solo builders about to put an AI-built app in front of real users.

How to run coding agents safely with Claude Code permission modes, Codex sandbox and approval settings, deny rules, and habits that keep secrets out of reach.

MCP security best practices for vibe coders: prompt injection risks, what the MCP spec requires, and a checklist to use MCP servers without leaking data.

Git and GitHub basics for vibe coders: the commands you need, a branch-per-task workflow for coding agents, .gitignore for secrets, and push protection.
The Codema publication. Consent is required. You are not subscribed until you confirm from the email, and nothing is stored if email delivery is not connected.