• Agents
  • Docs
  • Pricing
  • Blog
Log in
Get started

Security for apps built with AI. Paste a URL, get a report, fix what matters.

Product

  • How it works
  • What we find
  • Pricing
  • Agents
  • MCP Server
  • CLI
  • GitHub Action

Resources

  • Blog
  • Docs
  • FAQ
  • Glossary

Security

  • Supabase Security
  • Next.js Security
  • Lovable Security
  • Cursor Security
  • Bolt Security

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • Imprint
© 2026 Flowpatrol. All rights reserved.
Glossary

Security terms,
explained for builders.

You don't need a security degree. Here are the terms that actually matter when you're shipping an app — what they mean, why they show up in AI-generated code, and how to fix them.

CWE-639

IDOR

Insecure Direct Object Reference

When changing an ID in a URL or API request lets you access someone else's data. The #1 access control bug in AI-generated code.

Read more
PostgreSQL feature

Row Level Security

RLS in Supabase & PostgreSQL

A database-level rule that controls which rows a user can read, insert, update, or delete. If your AI tool forgot to enable it, every row is public.

Read more
CWE-79

XSS

Cross-Site Scripting

When an attacker injects a script into your app that runs in another user's browser. Three types: reflected, stored, and DOM-based.

Read more
CWE-89

SQL Injection

SQLi

When user input is stitched directly into a database query, letting an attacker read, modify, or delete data they should never touch.

Read more
CWE-918

SSRF

Server-Side Request Forgery

When your server fetches a URL that an attacker controls, giving them access to internal services, cloud metadata, or private networks.

Read more
CWE-798

API Key Exposure

Hard-Coded Credentials

When secret keys end up in client-side code, public repos, or accessible config files. AI tools do this more than you'd expect.

Read more
CWE-352

CSRF

Cross-Site Request Forgery

When a malicious site tricks a logged-in user's browser into making unwanted requests to your app, like changing their email or transferring funds.

Read more
CWE-639

BOLA

Broken Object Level Authorization

The API-specific cousin of IDOR. When an API endpoint lets you access or modify objects belonging to other users by manipulating object IDs in requests.

Read more
CWE-347

JWT Misconfiguration

JSON Web Token Security

When JWTs are decoded without verification, signed with weak secrets, or accept the 'none' algorithm — letting attackers forge tokens and impersonate users.

Read more
CWE-915

Mass Assignment

Unprotected Object Binding

When an API blindly accepts all fields from a request body, letting attackers set fields they shouldn't — like role, isAdmin, or accountBalance.

Read more
CWE-601

Open Redirect

Unvalidated Redirect

When your app redirects users to a URL from a query parameter without validation, letting attackers send victims to phishing sites that look legitimate.

Read more
CWE-22

Path Traversal

Directory Traversal

When an attacker uses ../ sequences in file paths to escape the intended directory and read sensitive files like .env, /etc/passwd, or source code.

Read more
CWE-307

Rate Limiting

Brute Force Protection

When API endpoints have no throttling, letting attackers try thousands of passwords, enumerate users, or abuse expensive operations without limit.

Read more
CWE-942

CORS Misconfiguration

Cross-Origin Resource Sharing

When your API allows requests from any origin — or worse, reflects the Origin header — letting malicious sites steal data from authenticated users.

Read more
CWE-693

Security Headers

HTTP Security Headers

Missing headers like Content-Security-Policy, Strict-Transport-Security, and X-Frame-Options that tell browsers how to protect your users.

Read more
CWE-287

Broken Authentication

Authentication Failures

When login flows have fundamental flaws — plaintext passwords, no session rotation, credential stuffing vulnerability — that let attackers take over accounts.

Read more
CWE-269

Privilege Escalation

Vertical Privilege Escalation

When a regular user can promote themselves to admin — usually because the API trusts a role field in the request body instead of checking the session.

Read more
CWE-200

Information Disclosure

Sensitive Data Exposure

When your app leaks internal details — stack traces, database schemas, environment variables, or user data — through error messages or verbose API responses.

Read more
CWE-434

Insecure File Upload

Unrestricted Upload

When your app accepts any file type without validation — letting attackers upload executable scripts, HTML files with XSS payloads, or oversized files that crash the server.

Read more
CWE-1021

Clickjacking

UI Redressing

When an attacker embeds your app in a transparent iframe on their malicious page, tricking users into clicking buttons they can't see — like 'Delete Account' or 'Transfer Funds'.

Read more
CWE-284

Subdomain Takeover

Dangling DNS Records

When a DNS record points to a cloud service you've deprovisioned — letting an attacker claim that service and serve malicious content on your subdomain.

Read more
CWE-285

Broken Function Level Authorization

Missing Admin Checks

When admin-only endpoints are accessible to regular users because the server only checks if someone is logged in — not what their role is.

Read more
CWE-400

GraphQL Security

GraphQL Attack Surface

When GraphQL introspection is left on in production and queries have no depth limits — letting attackers map your entire schema and craft resource-exhaustion attacks.

Read more
CWE-306

WebSocket Security

WS Connection Safety

When WebSocket connections skip authentication entirely — letting anyone connect and receive real-time data meant for authenticated users.

Read more
CWE-287

OAuth Misconfiguration

OAuth 2.0 Implementation Flaws

When OAuth flows skip state parameter validation, allow open redirects in callbacks, or leak tokens — letting attackers hijack user sessions through third-party login.

Read more
CWE-1321

Prototype Pollution

JavaScript Object Manipulation

When an attacker injects properties into JavaScript's Object.prototype through user input, affecting every object in the application and potentially bypassing security checks.

Read more
CWE-362

Race Condition

TOCTOU / Double-Spend

When parallel requests exploit a timing gap between checking and acting — letting attackers spend credits twice, claim multiple free trials, or bypass one-time-use tokens.

Read more
CWE-502

Insecure Deserialization

Untrusted Data Deserialization

When your app deserializes data from untrusted sources without validation — letting attackers inject malicious objects that execute code or manipulate application state.

Read more
CWE-427

Dependency Confusion

Supply Chain Attack

When a public package with the same name as your private package gets installed instead — letting attackers run arbitrary code in your build pipeline or production server.

Read more
CWE-778

Insufficient Logging

Missing Audit Trail

When your app doesn't log security events — failed logins, permission denials, data access — making it impossible to detect breaches or understand what happened after one.

Read more

Know where you stand.

Flowpatrol checks for all of these — and more. Paste a URL, get a report in minutes.

Try it freeWhat we find