Launch Ready

MVP Security Checklist

The essential security checklist for startups and new applications. Ship fast without shipping vulnerabilities.

Check your app against this checklist automatically.

2
Critical Areas
23
Must-Have Items
~4h
Est. Implementation

Quick Wins (Do These First)

Add .env to .gitignore

1 minutePrevents exposed secrets

Run npm audit fix

5 minutesFixes known vulnerabilities

Check HTTPS is working

2 minutesEncrypts all traffic

Search code for hardcoded secrets

5 minutesFinds exposed API keys

Test IDOR: can user A access user B's data?

10 minutesFinds authorization bugs

Full Security Checklist

Secrets & Credentials

The #1 cause of security incidents in new apps

critical

All secrets in environment variables (not in code)(Required)

5 min

Hardcoded secrets get committed to git and exposed

.env files added to .gitignore(Required)

1 min

Prevents accidentally committing secrets

Different API keys for dev vs production(Required)

10 min

Limits blast radius if dev keys are exposed

No secrets in frontend code or client bundles(Required)

15 min

Client-side code is visible to everyone

Secrets never logged or included in error messages

10 min

Logs are often less protected than you think

Authentication

Use libraries, don't build your own

critical

Using established auth library (NextAuth, Clerk, Auth0, Supabase Auth)(Required)

1-2 hrs

Custom auth is almost always insecure

Strong password requirements (if using password auth)(Required)

10 min

Weak passwords are easily brute-forced

Session tokens are secure and expire appropriately(Required)

15 min

Long-lived or weak tokens enable account takeovers

Rate limiting on login/signup endpoints

30 min

Prevents brute force and credential stuffing

Logout actually invalidates the session

10 min

Common bug: logout just clears client state

Authorization

Ensure users can only access their own data

high

Every API endpoint checks user authentication(Required)

30 min

Unauthenticated endpoints are open to anyone

Users can only access/modify their own data(Required)

1 hr

IDOR (Insecure Direct Object Reference) is extremely common

Admin functions require admin role checks(Required)

30 min

Role elevation attacks are common

Authorization checked on server, not just client(Required)

1 hr

Client-side checks are trivially bypassed

Database Security

Protect your data from injection and exposure

high

Using parameterized queries or ORM (no string concatenation)(Required)

varies

SQL injection is still in the OWASP Top 10

Database credentials not exposed to frontend(Required)

10 min

Direct database access from browser = game over

RLS (Row Level Security) enabled if using Supabase(Required)

1 hr

Without RLS, any user can read all data

Database backups configured

30 min

Recovery option for accidental or malicious data loss

HTTPS & Transport

Encrypt data in transit

high

HTTPS enforced (HTTP redirects to HTTPS)(Required)

15 min

HTTP traffic is visible to anyone on the network

Valid SSL certificate (not expired, not self-signed)(Required)

5 min

Invalid certs cause warnings and can be bypassed

HSTS header configured

5 min

Tells browsers to always use HTTPS

Secure cookies (Secure, HttpOnly, SameSite flags)(Required)

15 min

Prevents cookie theft via XSS or CSRF

Input Validation

Never trust user input

medium

All user input validated on server side(Required)

varies

Client-side validation is bypassed with dev tools

File uploads validated (type, size, content)(Required)

30 min

Malicious file uploads can execute code

Output escaped to prevent XSS(Required)

varies

React/Vue handle this automatically - don't bypass it

Avoid dangerouslySetInnerHTML or v-html(Required)

varies

These bypass XSS protection

Error Handling

Don't leak internal information

medium

Production errors don't show stack traces(Required)

15 min

Stack traces reveal internal paths and code

Generic error messages for users (detailed logs for you)

20 min

Specific errors help attackers

Failed logins don't reveal if user exists

10 min

User enumeration helps targeted attacks

Dependencies

Keep your supply chain clean

medium

No critical vulnerabilities in npm audit(Required)

15 min

Known vulnerabilities are easily exploited

Lock files committed (package-lock.json)

1 min

Prevents dependency confusion attacks

Dependencies from official sources only

varies

Typosquatting packages contain malware

Verify Your MVP Security

Running through this checklist manually? Our scanner automates much of it - checking for exposed secrets, security headers, common vulnerabilities, and more.

Scan Your App Free

Frequently Asked Questions

How much security is enough for an MVP?

At minimum: secrets in environment variables, authentication using a library, authorization checks on every endpoint, and HTTPS. These take a few hours total and prevent the most common attacks. You can add more sophisticated security as you grow.

Should I delay launch for security?

Not for the basics on this checklist - they take hours, not weeks. However, you should absolutely delay launch if you're handling payments or sensitive health/financial data without proper security. For a simple MVP with basic user data, this checklist is sufficient to launch.

What if I already launched without security?

Don't panic, but act quickly. Immediately check for exposed secrets and rotate any that may be compromised. Add the critical items from this checklist. Run a security scan to find issues. Most successful startups launched with imperfect security and improved over time.

Do I need a penetration test before launch?

For most MVPs, no. A pentest costs $5,000+ and takes weeks. For an early-stage product, automated security scanning plus this checklist is sufficient. Consider a pentest when you have paying customers, handle sensitive data, or need compliance certification.

What about GDPR/compliance?

This checklist covers technical security, not legal compliance. GDPR, CCPA, HIPAA etc. have additional requirements (privacy policies, data processing agreements, specific data handling). Consult a lawyer for compliance requirements specific to your industry and user base.

How often should I review security?

For an MVP: review this checklist before launch, then whenever you add authentication, payments, or new data types. Once you have real users, run automated security scans weekly or on each deployment. As you grow, schedule formal security reviews quarterly.