Security

Find every security hole, before and after launch.

No surprise server bill after an attack. No users getting your paid plan for free. No data leak that turns into a lawsuit. Faundr checks your project every session, and your AI fixes what it finds.

What you avoid

One security hole, and you pay for it. In server bills, lost sales or leaked data.

  • Your server bill explodes.

    A bot hammers your API, or someone finds your OpenAI key and runs up charges on it. You find out when the bill arrives.

    Faundr checks

    • Routes without rate limiting
    • No request size limit
    • Exposed AI key
    • API abuse (AI review)
  • Users get your paid plan for free.

    Access unlocks on the thank-you page, the price comes from the browser, or the webhook never verifies its signature. All it takes is knowing the URL.

    Faundr checks

    • Access granted on redirect
    • Price sent from the browser
    • Unverified Stripe webhook
    • Webhook that double-charges
  • A data leak becomes a lawsuit.

    One table without RLS exposes every customer’s name, email and ID number to anyone who visits. Under privacy laws like GDPR, CCPA and LGPD, that can mean fines and lawsuits.

    Faundr checks

    • Tables without RLS
    • Database probed as a visitor
    • service_role key in the browser
    • Open Firebase rules
Coverage

0

security checks. Backed by the full public database of package vulnerabilities.

  • 0Keys and secrets
  • 0AI review
  • 0Code patterns
  • 0Configuration
  • 0Database test
  • 0Database rules

All of the OWASP Top 10. The industry-standard list of web app vulnerabilities.

  1. A01Access controlRLS, live database test, IDOR, least privilege
  2. A02Crypto and secretsexposed keys, homemade crypto, unencrypted sensitive data
  3. A03InjectionSQL, command, eval, XSS
  4. A04Insecure designpayments and business logic
  5. A05Misconfigurationheaders, CORS, rate limits, Firebase
  6. A06Vulnerable dependenciesdaily OSV scans, malicious packages
  7. A07Authenticationunverified JWTs, MFA, 12 auth checks
  8. A08Integrityunsigned webhooks, hallucinated packages
  9. A09Logging and monitoringno audit trail, editable logs, no abuse alerts
  10. A10SSRFserver requests to user-supplied URLs

AI-built apps make the same security mistakes. Nobody notices until an outsider does.

AI agents know security well. But they only look when you ask, forget everything between sessions and stop watching once you ship. That’s where Faundr comes in.

AI agent aloneWith Faundr
Secret key in codeYour AI might write one without noticing.Blocked before the file is saved.
Security checksOnly when you remember to ask.Automatically, every session and after every reply.
New package vulnerability after launchNobody tells you.You hear about it the next day, even if you never open the project.
Deleted key still in git historyHistory never gets checked.Scans up to 3,000 commits across every branch.
Open databaseThe AI reads the code and assumes it’s locked down.Faundr probes the real database like an outsider would.
Migration that can’t be undoneIt runs, and the data is gone.Your AI stops for your OK, a backup and a way back first.
Package name the AI made upWhatever the agent asks for gets installed.Blocked if it doesn’t exist on npm or PyPI.
Confirming the fix workedYou take its word for it.Closes only when the check passes again.
Next sessionOpen issues are forgotten.Starts out aware of every serious open issue.
A security skill you already useWhat it finds gets lost in the chat.Lands in your dashboard and closes once it’s fixed.
How it works

Four layers. From the moment code is written to long after it ships.

Most of it runs locally, with no AI and zero tokens. The AI review runs on your own AI plan, only when you ask.

  1. Instantly

    Stops threats at the door.

    Dangerous keys in code, packages that don’t exist and commands that would wipe your production database. A migration that can’t be undone gets a heads-up first.

  2. Every session

    Checks as you build.

    A full scan when the session starts, then changed files after every reply.

  3. Every day

    Keeps watch while your laptop’s off.

    Our servers check your packages against the public vulnerability database.

  4. On demand

    AI review and live database test.

    Your AI reads every route the way an attacker would, a second reviewer tries to knock down each suspicion, and Faundr probes your database from the outside.

From finding to fix

No security expertise required. The dashboard explains each issue, and your AI fixes it.

Every finding explains what’s wrong, what could happen and how to fix it. Copy the command in one click, your AI makes the fix, and the finding stays on the list until the check passes again.

Security: Stripe secret key hardcoded.

What it finds

From code to database. Every finding comes with a severity, an explanation and a fix.

Security / Keys and secrets

Keys and secrets

421 rules

Keys hardcoded in your code, secrets in variables that ship to the browser, and .env files committed to git. Every finding links straight to where you rotate the key.

  • Stripe key hardcoded in sourceCritical
  • Secret in a NEXT_PUBLIC_ or VITE_ variableCritical
  • .env committed to gitCritical
  • .env missing from .gitignoreHigh

Code checks in 17 languages and frameworks

  • JavaScript & TypeScript
  • React Native
  • Vue
  • Angular
  • Svelte & Astro
  • Python
  • Flutter & Dart
  • PHP
  • Go
  • Java
  • Kotlin
  • C#
  • Rust
  • C
  • C++
  • Docker
  • HTML
  • C, C++ · Packages: partial (only with Conan (conan.lock); vcpkg has no public database of known vulnerabilities)
  • Docker · Packages: not yet (base images have no public database of known vulnerabilities (OSV); Quality flags images without a pinned version)

Nothing extra to install. Your language’s own tools are used only if your project already has them. See what each part covers, language by language

Database test

Reading the code isn’t enough. Faundr tests your database the way an outsider would.

Using your app’s public key, it tries to read, write, update and delete every table, as a visitor and as a brand-new user. Everything it does gets rolled back at the end.

faundr db-test · coffee-shop
tableReadWriteUpdateDelete
ordersopenclosedclosedclosed
profilesclosedclosedclosedclosed
couponsopenopenclosedclosed
testing…everything rolled back · sample

Nothing changes in your database.Every attempt is rolled back, touches one row at most and times out after 5 seconds.

Shows what would leak.Warns when a visitor can see emails, ID numbers, phone numbers or passwords.

Counts toward the launch verdict.An open database blocks "Ready for real users".

Privacy

Your code never leaves your machine. Neither do your keys.

On your machine

new Stripe('sk_live_51HxQ2fK8…aB9Qz')

In the Faundr dashboard

src/checkout/pay.ts:2

sk_live_51Hx…9Qz

Checks run locally.Only the finding reaches the dashboard, with the key masked.

OSV only sees package names.Just the name and version of each package.

Your tokens stay with you.The Supabase token used for the database test never reaches Faundr.

Your skills

Already use a security skill? Keep it. Faundr connects to it and shows every issue it finds.

A security audit from another plugin, or one your team wrote, reports to the same list as Faundr’s own checks. Its findings get a severity, a fix and a “via /skill-name” tag, so you always know where each one came from.

Workflows · Skills
  • /security-audit Plugin Connected · Security

    Auditing routes, logins or database rules

  • /write-copy Project

    Writing or improving page copy

Security / Issues
  • S-14Orders route returns other users’ ordersvia /security-audit · src/api/orders.ts:18High
  • S-13Stripe key hardcoded in sourceKey or password · src/checkout/pay.ts:2Critical
  • S-12Password reset link never expiresvia /security-audit · src/auth/reset.ts:41Medium
  • S-11No rate limit on any routeConfiguration · src/server.tsHigh
  • Counted like Faundr’s own. Each issue becomes S-n in Security, with a severity and a fix, and weighs on the launch verdict the same way.
  • Closes when it’s gone. Run the skill again and whatever it no longer finds closes. Each skill only closes its own findings, never Faundr’s or another skill’s.
  • One command to connect. Faundr reads the skills from your repo, your personal folder and your plugins, and marks the ones that find problems. You can change that in the dashboard.
  • Your skills stay on your machine. Only each skill’s name, description and where it came from reach Faundr.

FAQ

Does it replace a pentest?

No. Faundr reads your code, checks your packages and database rules, and tests the database with your public key, but it never attacks your live app. It catches the common mistakes before they ship. If your app handles highly sensitive data, a pentest is still worth it.

Does it work with my project?

Most likely. Code checks run in 17 languages and frameworks: JavaScript and TypeScript (React, Next.js, Vue, Angular, Svelte, Astro, React Native), Python, Go, Rust, Java, Kotlin, C#, PHP, Flutter, C, C++, Dockerfiles and HTML. Package checks read lockfiles from npm, Python, Rust, Go, PHP, Flutter, Ruby, .NET, Maven, Gradle and Conan. Databases: Supabase or Firebase. There’s nothing extra to install, and the docs show what’s covered in each language.

Does it use my tokens?

Scans, instant blocking and the database test all run without AI. Only the AI review (/faundr:security) and fixes use your own AI plan, and only when you ask.

I already use a security skill. Can I keep it?

Yes. Run /faundr:skills once and Faundr connects it. From then on, whatever it finds shows up here as S-n, tagged “via /its-name,” and closes when a rerun no longer finds it. Only the skill’s name, description and where it came from reach Faundr.

What about false positives?

Ignore it for 7, 30 or 90 days with a reason: not an issue, or accepted risk. Keys in example files and dev-only packages already get a lower severity.

Ship knowing you’re covered. Your first check runs in your next session.

Get started free