Ship & Run

Security

Protecting apps, data, and users.

The territory

30 core terms mapped for this field, ranked by how often builders reach for them. Each one is a future entry. Want to bust one? One entry, one file, one pull request.

  • Threat modelMap of who attacks you, how, and what matters"list of ways this could get hacked" · "what are we actually defending against"
  • Least privilegeGive each user or service only permissions strictly needed"don't give it admin for no reason" · "only the access it needs"
  • Secrets managementStoring API keys and passwords outside code, injected at runtime"where do I put my API keys" · "stop hardcoding passwords"
  • Secret scanningAutomated detection of committed keys in repos"did I commit my API key" · "catch leaked keys in the repo"
  • Rate limitingCap requests per user or IP over a time window"stop one person hammering my API" · "max 100 requests per minute"
  • Input validation and contextual output encodingRejecting bad input, then escaping output for its destination"input sanitization" · "make user input safe"
  • XSS (cross-site scripting)Attacker's script runs in another user's browser"someone pasted a script tag and it ran" · "user input became code"
  • SQL injectionAttacker input alters your database query"they typed something and stole the database" · "quote in a form broke my query"
  • CSRF (cross-site request forgery)Another site tricks a logged-in user's browser into acting"an evil page submitted a form as me" · "clicking a link deleted my account"
  • IDOR (insecure direct object reference)Changing an ID in a URL to view others' data"I changed the id and saw someone else's stuff" · "guessable record IDs"
  • SSRF (server-side request forgery)Tricking your server into fetching attacker-chosen internal URLs"made my server fetch a URL it shouldn't" · "the server followed a link to internal stuff"
  • Content Security Policy (CSP)Header restricting which scripts and resources a page may load"only let my own scripts run" · "allowlist for what the page can load"
  • CORS (cross-origin resource sharing)Rules letting one origin's browser code call another's API"why is my API blocked in the browser" · "the origin error thing"
  • Encryption at rest and in transitData scrambled on disk and while traveling the network"encrypt the database and the connection" · "locked both when stored and when sent"
  • Password hashingOne-way scrambling so stored passwords can't be reversed"never save passwords as plain text" · "the bcrypt thing"
  • Prompt injectionMalicious text hijacks an AI agent's instructions"user told my chatbot to ignore its rules" · "the AI obeyed the document instead of me"
  • Supply chain attackCompromise arriving through a dependency or vendor you trust"an npm package went rogue" · "hacked through a library I installed"
  • Dependency vulnerability scanningScanning installed packages for known vulnerabilities"npm audit" · "check my packages for holes"
  • CVE (common vulnerabilities and exposures)Public ID for a known published software vulnerability"the numbered bug everyone panics about" · "that famous security hole"
  • Row-level securityDatabase rules restricting which rows each user sees"the database only shows each user their own rows" · "RLS policies"
  • Tenant isolationGuaranteeing one customer's data can never reach another"customer A must never see customer B's data" · "keeping accounts separate"
  • Attack surfaceEvery entry point an attacker could possibly touch"all the doors into my app" · "everything exposed to the internet"
  • Defense in depthLayered controls so one failure doesn't breach everything"multiple locks not one" · "backup security behind the security"
  • WAF (web application firewall)Filter blocking malicious HTTP requests before your app"shield in front of my site" · "blocks the bad traffic automatically"
  • Bot mitigationDistinguishing and blocking automated abuse from real users"stop scrapers and fake signups" · "keep the robots out"
  • Data breachUnauthorized access to or exfiltration of user data"our user list leaked" · "someone got the customer data"
  • Incident response planPrewritten steps for detecting, containing, communicating a breach"what to do when we get hacked" · "the emergency playbook"
  • Security headersHTTP response headers hardening browser behavior on your site"those headers scanners yell about" · "HSTS and friends"
  • Secure by defaultShip with the safest configuration unless deliberately loosened"locked down out of the box" · "private until you make it public"
  • Blast radiusHow much damage a single compromised credential can cause"how bad if this key leaks" · "how far the damage spreads"

Deeper in the field

  • Vulnerability Weakness attackers can exploit to compromise confidentiality, integrity, or availability
  • Exploit Code or technique that takes advantage of a vulnerability
  • Attack vector Route or method an attacker uses to reach a target
  • OWASP Top 10 Widely used catalog of critical web application security risks
  • Broken access control Users access data or actions beyond their intended permissions
  • Privilege escalation Low-access account gaining higher permissions than intended
  • Command injection Untrusted input causes operating-system commands to run on your server
  • Remote code execution (RCE) Flaw allowing attackers to execute code remotely on your system
  • Path traversal Using `../` in paths to read unintended files
  • Unrestricted file upload Unsafe uploads enable malware hosting, overwrites, or server-side execution
  • Clickjacking Invisible overlay tricks users into clicking hidden controls
  • Replay attack Captured valid requests are resent to repeat unauthorized actions
  • Security misconfiguration Unsafe settings or defaults expose systems, services, or sensitive data
  • Hardening Removing defaults, ports, and features to shrink exposure
  • Zero trust Verify every request; no network location is inherently trusted
  • Sandboxing Running untrusted code isolated from your system and data
  • Password salting and peppering Random per-password value plus secret making hashes unguessable
  • Key rotation Regularly replacing credentials so leaked ones expire
  • Vulnerability scanning Automated checks for known weaknesses in applications, hosts, and dependencies
  • SAST (static application security testing) Scans source code for security weaknesses without executing the application
  • DAST (dynamic application security testing) Probes a running application externally for exploitable security flaws
  • CVSS (common vulnerability scoring system) Standard score describing a published vulnerability's technical severity
  • Penetration test Hired attackers probe your system and report findings
  • Bug bounty Paying researchers for responsibly reported vulnerabilities
  • Vulnerability disclosure policy Public instructions for reporting security bugs to you
  • Dependency confusion Malicious public package is chosen over the intended internal package
  • Typosquatting Malicious package or domain named like a popular one
  • SBOM (software bill of materials) Machine-readable inventory of every component you ship
  • Subdomain takeover Attacker claims your dangling DNS-pointed subdomain
  • Audit log Immutable record of who did what and when
  • Tokenization Replacing sensitive values with meaningless lookup substitutes
  • Redaction / masking Hiding parts of sensitive values in logs and UI
  • Ransomware Malware encrypting your data until payment is made