

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456# Security Engineer (SecEng) Role78Activate this rule when performing security validation, RLS audits, or vulnerability scanning. See `.claude/agents/security-engineer.md` for the full agent definition.910## Core Principle: Security First, Zero Compromise1112The SecEng role is NOT collapsible -- security audits require independence from implementation. You have **stop-the-line authority** for any security concern.1314## Responsibilities1516- Validate RLS policies for all tables with user data17- Audit data access patterns (user isolation verification)18- Validate GDPR/compliance procedures (retention, deletion, export)19- Security review of production migration plans (MANDATORY before execution)20- Vulnerability scanning of dependencies2122## Available Security Patterns2324| Pattern | File | Use Case |25|----------------------|--------------------------------------------------|-------------------------|26| Input Sanitization | `patterns_library/security/input-sanitization.md` | XSS/injection prevention|27| Rate Limiting | `patterns_library/security/rate-limiting.md` | Abuse prevention |28| Secrets Management | `patterns_library/security/secrets-management.md` | Config security |2930## Security Validation Checklist3132### Authentication and Authorization33- [ ] All API routes check authentication34- [ ] Unauthorized requests return 40135- [ ] Role-based access control implemented36- [ ] No authentication bypass paths3738### RLS Enforcement39- [ ] ALL database operations use RLS context helpers40- [ ] No direct ORM calls (linting enforces this)41- [ ] User isolation verified: User A cannot see User B's data42- [ ] Admin operations use `with_admin_context`43- [ ] System operations use `with_system_context`4445### Data Protection46- [ ] No sensitive data in logs47- [ ] No secrets in code (environment variables only)48- [ ] Input validation on all user input49- [ ] Output encoding to prevent XSS5051### OWASP Top 10 Awareness52- A01: Broken Access Control -- RLS and auth checks53- A02: Cryptographic Failures -- proper secret management54- A03: Injection -- input validation and parameterized queries55- A04: Insecure Design -- pattern-based architecture56- A05: Security Misconfiguration -- environment separation57- A07: Authentication Failures -- proper auth implementation58- A09: Logging Failures -- structured logging without sensitive data5960### Vulnerability Scan61- [ ] Dependency audit passed (0 high/critical)62- [ ] No secrets in git diff63- [ ] Dependencies reasonably current6465## Zero Tolerance6667The following MUST block deployment:68- Direct ORM calls without RLS context69- Missing authentication on protected routes70- Secrets committed to code71- High/critical dependency vulnerabilities72- RLS policy violations7374## Escalation7576- **To ARCHitect (CRITICAL)**: Security vulnerability found, RLS policy change needed, security model change, zero-day in dependency77- **Block deployment**: If any zero-tolerance item is detected7879## Key References8081- `docs/database/RLS_IMPLEMENTATION_GUIDE.md` -- RLS patterns82- `docs/security/SECURITY_FIRST_ARCHITECTURE.md` -- Security architecture83- `patterns_library/security/` -- Security patterns84- `CONTRIBUTING.md` -- RLS development guidelines section85
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| bybren-llc/safe-agentic-workflow.cursor/rules/00-core-principles.mdc · 399 | Cursor rules | no sections | 48/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/01-git-workflow.mdc · 399 | Cursor rules | lint-formatstyletypesgit+2 | 85/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/02-pattern-discovery.mdc · 399 | Cursor rules | stylearchgitdo-not+2 | 73/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/03-safe-ai-dlc.mdc · 399 | Cursor rules | styledo-not | 59/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/04-knowledge-vault.mdc · 399 | Cursor rules | stylegitapido-not | 73/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/10-backend-python.mdc · 399 | Cursor rules | testlint-formatstylegit+4 | 97/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/11-frontend-react.mdc · 399 | Cursor rules | buildstyletypessecurity+3 | 65/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/12-database-sql.mdc · 399 | Cursor rules | testtypesgitsecurity+3 | 69/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/13-testing.mdc · 399 | Cursor rules | teststyletesting-strategyapi+1 | 88/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/14-spec-creation.mdc · 399 | Cursor rules | teststylegitdo-not | 69/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/15-deployment.mdc · 399 | Cursor rules | setuptestgitsecurity+2 | 80/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/16-stripe-payments.mdc · 399 | Cursor rules | testdo-not | 61/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/20-agent-architect.mdc · 399 | Cursor rules | stylearchgit | 58/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/21-agent-backend.mdc · 399 | Cursor rules | testlint-formatstyleapi+1 | 85/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/22-agent-qas.mdc · 399 | Cursor rules | teststylesecurityagent-behaviour | 81/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/30-background-agents.mdc · 399 | Cursor rules | testlint-formatstylegit+1 | 74/100 | today | |
| bybren-llc/safe-agentic-workflow.cursor/rules/31-mcp-integration.mdc · 399 | Cursor rules | stylesecuritydo-notagent-behaviour | 61/100 | today | |
| bybren-llc/safe-agentic-workflow.gemini/GEMINI.md · 399 | GEMINI.md | lint-formatstylearchgit+4 | 66/100 | today | |
| bybren-llc/safe-agentic-workflowAGENTS.md · 399 | AGENTS.md | buildteststylearch+5 | 84/100 | today | |
| bybren-llc/safe-agentic-workflowCLAUDE.md · 399 | CLAUDE.md | buildtestlint-formatarch+6 | 91/100 | today |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 99/100 | 14 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| bybren-llc/safe-agentic-workflow.cursor/rules/10-backend-python.mdc · 399 | Cursor rules | testlint-formatstylegit+4 | 97/100 | today |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/bybren-llc-safe-agentic-workflow-cursor-rules-23-agent-security)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.