awesomechecklists
llms.txtGitHub ↗
/

09 — Security Checklist#

Assess confidentiality, integrity, availability, abuse resistance, and operational security proportionate to project risk.

Scope: Frontend-specific. This file is one part of the 09_Security.md checklist. Apply the domain-wide release gate across all applicable scope files; each checklist ID remains unique.

Review details#

  • Project / product:
  • Release / version / environment:
  • Scope and applicable jurisdictions / markets:
  • Reviewer / owner:
  • Review date:
  • Decision: Pending / Approved / Approved with documented exceptions / Blocked

How to use#

  1. Copy this template into each project's review records; keep the shared repository template unchecked.
  2. Check [x] only after verifying the item with evidence. For any inapplicable item, record N/A and the reason in the project's own review notes or issue tracker using its checklist ID; do not mark it as passed.
  3. Record evidence links or artifact references by checklist ID. Open an issue for every failed item, assign an owner and due date, and retest after remediation.
  4. Apply the release gate below. These checklists guide review; they do not replace qualified specialist review when required.

Application, API, and supply-chain security#

  • SEC-047 Verify dependencies and browser-delivered scripts have update, integrity, and supply-chain review procedures.

Secrets, encryption, and data protection#

  • SEC-051 Use purpose-limited credential scopes and avoid unnecessary browser access to high-value tokens.
  • SEC-050 Confirm client-side bundles and source maps do not expose server secrets or sensitive configuration.

Security scope and architecture#

  • SEC-041 Map data flows for third-party scripts, SDKs, tracking tags, and embedded content.

Frontend Checks#

Apply to browser-based, mobile-web, embedded, or other user-facing interfaces. Record N/A with reasons for headless services.

Reference basis: OWASP Application Security Verification Standard (ASVS) 5.0; OWASP ASVS 5.0 control families (web frontend and API); NIST — Generative AI Risk Management Profile.

  • SEC-072 Verify contextual output encoding and safe DOM APIs prevent stored, reflected, and DOM-based XSS.
  • SEC-073 Review CSP coverage, nonce/hash use where appropriate, third-party script inventory, and unsafe-inline exceptions.
  • SEC-074 Ensure tokens and secrets are not embedded in HTML, JavaScript bundles, source maps, or public environment variables.
  • SEC-075 Verify Secure, HttpOnly, SameSite, expiry, and path/domain attributes for relevant cookies.
  • SEC-076 Check CSRF protection for cookie-authenticated state-changing actions and other applicable request forgery risks.
  • SEC-077 Validate safe navigation and redirect allowlists; prevent reverse-tabnabbing on external links.
  • SEC-078 Audit local/session storage, IndexedDB, caches, and service workers for sensitive information retention.
  • SEC-079 Verify frontend guards do not replace backend authorization; unauthorized API calls are rejected server-side.
  • SEC-080 Ensure user-supplied HTML, markdown, rich text, file previews, and URLs are sanitized and safely rendered.
  • SEC-081 Inspect third-party scripts, package lockfiles, and externally hosted assets for supply-chain risk.
  • SEC-082 Test clickjacking defenses and frame embedding policies appropriate to the application.
  • SEC-083 Check logout, account switch, back/forward cache, and browser history cannot display another user's protected information.
  • SEC-084 Confirm client errors, analytics beacons, and source maps do not leak access tokens, personal data, or private routes.

Release gate#

  • All applicable high-priority checks above pass, or an authorized decision-maker has explicitly accepted and documented each residual risk.
  • Failed items have tracked remediation, owners, and deadlines; material blockers remain blocked until resolved.
  • Evidence links and the reviewer, review date, and final decision are recorded.

Domain-specific approval rule: Block release for exploitable critical/high findings without approved mitigation, missing authorization boundaries, exposed secrets, or unprotected sensitive data.

Trusted references and scope#

The checks above are adapted into practical verification questions from these authoritative publications (not copied as standards text). Verify current versions and the project's scope before sign-off.

Guidance is risk-based and project-specific; sources do not replace testing or specialist review.

Source review date: 2026-11-12.

Suggested testing tools#

Choose tools appropriate to the project's stack and risks; automation supports evidence but does not approve the checklist.

  • Test focus: secrets, authorization, dependency vulnerabilities, attack surfaces, and validation failures; include browser and client behavior where applicable.
  • Cross-stack: OWASP ZAP + Gitleaks + Trivy.
  • Python: Bandit + pip-audit + pytest; for pytest-based suites, run python -m pytest -q.
  • TypeScript: ESLint + Vitest; for Vitest-based suites, run npx vitest run (or npx playwright test for E2E).
  • JavaScript: Jest; for Jest-based suites, run npx jest --ci (or npx playwright test for E2E).
  • Evidence: Save tool versions, configuration, test environment, fixtures, results, and links in project-specific review records using the existing checklist IDs. Expert review remains necessary where relevant.

Suggested AI skills for verification#

These are optional agent review aids, not automated passes or release approval. Each linked repository had at least 1,000 GitHub stars when checked on 2026-11-12; counts are per repository, not per skill, and do not indicate security or correctness.

  • security-threat-model — Identify assets, trust boundaries, and abuse paths (openai/skills, 28,705 repo stars).
  • sharp-edges — Assess unsafe defaults and misuse risks (trailofbits/skills, 8,150 repo stars).
  • semgrep — Find review candidates using static security rules (trailofbits/skills, 8,150 repo stars).

How to check: In a project-specific copy, have the agent audit the frontend scope and map findings to this file's existing checklist IDs, with code/configuration references, reproducible test results, failed or inapplicable cases, and uncertainties. Independently verify findings; keep shared template boxes unchecked and retain human approval requirements.

Before use: Read the skill's SKILL.md, referenced scripts, license, and requested tool permissions. Only execute vetted skills with appropriate access in a controlled environment.

Important warning: reference only#

⚠️ Reference only — not a definitive or exhaustive checklist. This template is a starting point for review, not the ultimate authority or a guarantee of project safety, quality, regulatory compliance, accessibility, security, or launch readiness.

Use project-specific judgment and independent verification. Requirements and risks evolve and differ by project, technology, and jurisdiction. Adapt the checks, consult current authoritative sources, perform relevant tests, and obtain qualified specialist review or approval when appropriate. Checking every box does not replace these steps.