Plain-words glossary

What the jargon means

Short definitions of the security words in the guides, each with the bank version. Where a guide goes deeper, it is linked.

AI agent

An AI tool that does not just answer but takes actions for you: reading files, running commands, calling other services.

In the bank: The new hire who is allowed to move money, not just talk about it.

Read:Excessive agency / MCP risksPrompt injection

API

The set of requests a program accepts from other programs. Your website’s buttons usually call your API behind the scenes.

In the bank: The teller window: the only official way to ask the bank for anything.

Read:Routes without authenticationExposed API docs (OpenAPI)

API key

A long secret string that proves a program is allowed to use a service. Anyone who has it can act as you.

In the bank: A key to the vault. Whoever holds it gets in, no questions asked.

Read:Secrets in the browserSecrets in git historySecrets leaked via AI tools

Authentication

Checking who someone is: a password, a code, a login link.

In the bank: Showing ID at the desk.

Read:Weak login checksSession & token storagePassword reset flaws

Authorization

Checking what a known person is allowed to do. Being logged in is not the same as being allowed.

In the bank: Knowing which accounts a customer may open, not just that they are a customer.

Read:IDOR / BOLAPrivilege escalationRoutes without authentication

Brute force

Trying many guesses, usually by machine, until one works.

In the bank: A robber trying every PIN at the cash machine.

Read:Missing rate limitsWeak login checks

Business logic flaw

A mistake in the rules of your app rather than in a technical setting, such as a discount code that can be reused forever.

In the bank: A policy with a loophole, even though every door is locked.

Read:Business logic flawsRace conditions

Container (Docker)

A packaged app plus everything it needs to run. How it is configured decides how much damage a break-in can do.

In the bank: A sealed room in the building. Weak walls let trouble spread to the next room.

Read:Docker misconfigurationsKubernetes misconfigurations

Content Security Policy (CSP)

A rule your site sends to the browser listing which scripts and sources the page may load, so injected ones are refused.

In the bank: A guest list for what may be brought into the lobby.

Read:Security headersCross-site scripting (XSS)

Cookie

A small piece of data the browser stores for a site and sends back with each request. Often it holds the login session.

In the bank: The wristband you are given after showing ID.

Read:Session & token storageCSRF

CORS

Browser rules about which other websites may read responses from your site. Set too loosely, any website can.

In the bank: Which outside messengers the teller will hand statements to.

Read:CORS

CSRF

Tricking a logged-in person’s browser into sending a request they never meant to make.

In the bank: A forged slip carried in on a real customer’s wristband.

Read:CSRF

CVE

A public ID number for a known security flaw in some software, so everyone can refer to the same one.

In the bank: A recall notice for a lock model.

Read:Vulnerable dependencies (CVEs)

Dependency

Code written by someone else that your app uses, usually installed by a package manager.

In the bank: A supplier whose parts are built into your building.

Read:Vulnerable dependencies (CVEs)Slopsquatting / hallucinated packagesSubresource Integrity (SRI)

Endpoint

One address on your API that does one job, such as /api/orders.

In the bank: One specific window or door.

Read:Hidden endpointsExposed files & risky HTTP methodsRoutes without authentication

Environment variable (.env)

A setting, often a secret, given to your app from outside its code. A .env file holds them locally and must not be committed.

In the bank: The sealed envelope of keys kept apart from the blueprints.

Read:Secrets in git historySecrets leaked via AI toolsSecrets in the browser

Fuzzing

Sending lots of odd, unexpected input to see what breaks or leaks.

In the bank: Pushing every strange slip through the window to see which one confuses the teller.

Read:Body & parameter fuzzing

GraphQL

A way for apps to ask an API for exactly the data they want. If left open, it can let outsiders browse your whole data model.

In the bank: A window that answers any question phrased the right way.

Read:GraphQL exposure

Hallucination (AI)

When an AI tool states something confidently that is not true, such as a software package that does not exist.

In the bank: The new hire who invents a supplier’s name and orders from it.

Read:Slopsquatting / hallucinated packagesTrusting unreviewed AI code

IDOR / BOLA

Changing an ID in a request (like /orders/42 to /orders/43) and getting someone else’s data because the app never checked the owner.

In the bank: Asking for account 1043 and being handed it, though it is not yours.

Read:IDOR / BOLA

Infrastructure as code

Describing servers, networks and permissions in files, so they can be created repeatably. A mistake in the file is a mistake everywhere it runs.

In the bank: The building plans. A flaw drawn in is built into every copy.

Read:Infrastructure-as-code mistakes

Injection (SQL, command)

Sneaking instructions into input so the system runs them as commands rather than treating them as plain data.

In the bank: A slip that gives the teller orders instead of asking for a balance.

Read:SQL & command injection

JWT

A signed token a server hands out to say who you are and what you may do. If it is accepted without proper checks, it can be forged.

In the bank: A signed pass the guard reads at each door.

Read:JWT attacksSession & token storage

Least privilege

Giving a person, program or AI tool only the access it needs for its job, and nothing more.

In the bank: Handing the new hire one drawer key, not the master.

Read:Excessive agency / MCP risksPrivilege escalation

Lockfile

A file recording the exact versions of every dependency installed, so builds are repeatable and changes are visible.

In the bank: The delivery manifest listing exactly which parts arrived.

Read:Slopsquatting / hallucinated packagesVulnerable dependencies (CVEs)

Mass assignment

An app that copies every field from a request into a record, so someone can set fields they should not, like “isAdmin”.

In the bank: A form where you can also write your own job title in the staff column.

Read:Mass assignment

MCP (Model Context Protocol)

A standard way to connect AI tools to outside tools and data. Each connection widens what the AI can reach.

In the bank: Extra doors cut into the building for the new hire.

Read:Excessive agency / MCP risks

Middleware

Code that runs on requests before your main logic, often to check login. Routes it does not cover are unprotected.

In the bank: The guard at the door. A door without a guard is just a door.

Read:Middleware coverage gapsRoutes without authentication

Mixed content

A secure (HTTPS) page loading something over plain HTTP, which can be read or changed in transit.

In the bank: An armored truck with one unlocked leg of the route.

Read:Mixed content

Open redirect

A link on your site that can be made to send visitors to any other site, lending your good name to a phishing link.

In the bank: The greeter who walks you anywhere you point.

Read:Open redirect

OpenAPI

A machine-readable description of every endpoint in an API. Useful to you, and to anyone who finds it exposed.

In the bank: The staff directory of every window and what it does.

Read:Exposed API docs (OpenAPI)

Privilege escalation

Gaining more access than you were given, such as an ordinary user acting as an admin.

In the bank: A customer who walks into the manager’s office.

Read:Privilege escalation

Prompt injection

Hiding instructions in content an AI tool reads, so it follows them as if you had given them.

In the bank: A note slipped into the new hire’s pile that says “transfer the money”.

Read:Prompt injection

Race condition

A flaw that appears when two requests arrive at nearly the same moment and the app handles them in the wrong order.

In the bank: Two withdrawals at once, both seeing the full balance.

Read:Race conditions

Rate limiting

Capping how many requests one person or program can make in a period of time.

In the bank: A limit on how many PIN tries the machine allows.

Read:Missing rate limits

Row-level security (RLS)

Database rules that decide which rows each user may read or change, enforced by the database itself.

In the bank: The vault’s own lock on each deposit box, not just the front door.

Read:Database access rules (RLS & Firebase rules)Insecure database schemas

Secret

Anything that grants access and must stay private: passwords, API keys, tokens, signing keys.

In the bank: Keys and codes. If they are loose, the locks do not matter.

Read:Secrets in git historySecrets in the browserSecrets leaked via AI tools

Security headers

Instructions your server sends with each page telling the browser to apply extra protections.

In the bank: Standing orders posted at the entrance.

Read:Security headers

Session

The period during which the app remembers you are logged in, usually tracked with a cookie or token.

In the bank: Your visit after the ID check, until you leave.

Read:Session & token storageJWT attacks

Slopsquatting

Publishing a malicious package under a name that AI tools tend to make up, hoping someone installs it.

In the bank: Setting up a fake supplier at the address the new hire keeps inventing.

Read:Slopsquatting / hallucinated packages

Source map

A file that maps your shipped, squashed code back to the readable original. Left public, it hands over your source.

In the bank: The blueprints left on the front desk.

Read:Exposed source maps

SRI (Subresource Integrity)

A fingerprint you attach to an outside script so the browser refuses it if it has been changed.

In the bank: A tamper-evident seal on a vendor’s delivery.

Read:Subresource Integrity (SRI)

SSRF

Getting your own server to make a request to somewhere the attacker cannot reach directly, such as an internal system.

In the bank: Talking the teller into fetching files from the staff-only back office.

Read:Server-side request forgery (SSRF)

XSS (cross-site scripting)

Getting a site to run an attacker’s script in other people’s browsers, where it can act as them.

In the bank: A rogue notice pinned to the lobby board that tells visitors to hand over their keys.

Read:Cross-site scripting (XSS)

These are short simplifications, not complete definitions. Like the guides, they were drafted with AI assistance and have not yet been reviewed by an independent security specialist; see how the guides are made and checked.