Security scanning platform for indie builders, vibe coders, freelancers, and early-stage teams
Features β’ Architecture β’ Quick Start β’ Documentation
ShipSafe is a security scanning platform built for developers who ship code fast using AI tools. It validates code and live apps for security vulnerabilities, translates findings into plain English, and generates client-friendly reportsβwithout the complexity, cost, or setup friction of enterprise security tools.
- Built for speed: 2-3 minute scans, zero setup required
- Plain-English explanations: No security expertise needed
- Pay-per-scan: No subscriptions, no minimums ($15-50/scan)
- Comprehensive coverage: Code repositories + live applications
- AI-powered fixes: GPT-4 powered remediation suggestions
| User Type | Use Case |
|---|---|
| Solo Builders | Pre-launch security validation |
| Freelancers/Agencies | Client handoff audit reports |
| Vibe Coders | AI-generated code validation |
- β GitHub repository analysis (public & private)
- β SAST with Semgrep (OWASP Top 10, CWE Top 25)
- β Dependency vulnerability detection (npm, pip, go, etc.)
- β Secrets detection (API keys, tokens, credentials)
- β Multi-language support: JavaScript/TypeScript, Python, Go, Java, Ruby, PHP, C#
- β Dynamic Application Security Testing (DAST)
- β OWASP ZAP integration
- β Security headers validation (CSP, HSTS, X-Frame-Options)
- β SSL/TLS certificate analysis
- β XSS vulnerability detection
- β CSRF token validation
- β Plain-English vulnerability explanations
- β Severity scoring (CRITICAL, HIGH, MEDIUM, LOW)
- β Step-by-step fix recommendations
- β Code snippets and examples
- β Security glossary with inline definitions
- β Security score (0-100) with visual indicators
- β Professional PDF report generation
- β Shareable report links (30-day expiration)
- β Co-branded reports for freelancers
- β Scan history dashboard
- β Before/after comparison
- 1 free scan per user
- $30 per additional scan
- No subscriptions, no hidden fees
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ShipSafe System β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββ
β Frontend (Next.js) β β Vercel Deployment
ββββββββββββββββββββββββ
β REST API
β
ββββββββββββββββββββββββ
β Backend (Express.js) β β AWS ECS Fargate
ββββββββββββββββββββββββ
β
ββββββ΄ββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββ ββββββββββββββββββββ
β Scanning Queue β β LLM Integration β
β (BullMQ/Redis) β β (OpenAI GPT-4o) β
βββββββββββββββββββ ββββββββββββββββββββ
β β
β β
βββββββββββββββββββββββββββββββββββββββββββββββ
β Worker Process β
β Semgrep | OWASP ZAP | Trivy | npm audit β
βββββββββββββββββββββββββββββββββββββββββββββββ
β
β
βββββββββββββββββββββββββββββββββββββββββββββββ
β PostgreSQL (AWS RDS) + S3 (Report Storage) β
βββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Technology | Version |
|---|---|---|
| Frontend | Next.js | 16.1.x |
| React | 19.2.x | |
| TailwindCSS | 4.1.x | |
| shadcn/ui | Latest | |
| Backend | Node.js | 24.x LTS |
| Express.js | 5.2.x | |
| BullMQ | 5.66.x | |
| Database | PostgreSQL | 18.1 |
| Redis | 8.4.x | |
| Prisma ORM | 7.2.x | |
| Scanning | Semgrep | 1.148.x |
| OWASP ZAP | 2.17.x | |
| Trivy | 0.68.x | |
| AI | OpenAI GPT-4o | Latest |
| Deployment | Vercel | Frontend |
| AWS ECS Fargate | Backend | |
| AWS RDS | Database | |
| AWS S3 | Storage | |
| Auth | Auth.js (NextAuth) | 5.x |
See ARCHITECTURE.md for detailed system design.
- Node.js 24.x LTS
- Docker & Docker Compose
- PostgreSQL 18.1
- Redis 8.4.x
- OpenAI API key
# Clone the repository
git clone https://github.com/yourorg/ShipSafe.git
cd ShipSafe
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env
# Configure your environment variables
nano .env
# Start local services (PostgreSQL, Redis)
docker-compose up -d
# Run database migrations
npm run db:migrate
# Seed database (optional)
npm run db:seed
# Start development servers
npm run devAccess the application at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- API Docs: http://localhost:5000/api/docs
# Database
DATABASE_URL=postgresql://ShipSafe:password@localhost:5432/ShipSafe
# Redis
REDIS_URL=redis://localhost:6379
# OpenAI
OPENAI_API_KEY=sk-...
# GitHub OAuth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
# NextAuth
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000
# AWS (Optional - for S3 reports)
AWS_S3_BUCKET=ShipSafe-reports
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
# API
API_URL=http://localhost:5000
NEXT_PUBLIC_API_URL=http://localhost:5000See SETUP.md for detailed setup instructions.
ShipSafe/
βββ apps/
β βββ web/ # Next.js frontend application
β β βββ app/ # App Router pages
β β βββ components/ # React components
β β βββ lib/ # Utilities & helpers
β β βββ public/ # Static assets
β β
β βββ api/ # Express.js backend application
β βββ src/
β β βββ routes/ # API endpoints
β β βββ services/ # Business logic
β β βββ workers/ # Background jobs
β β βββ utils/ # Utilities
β βββ prisma/ # Database schema
β
βββ packages/
β βββ shared/ # Shared TypeScript types & utilities
β βββ src/
β β βββ types/ # Shared type definitions
β β βββ utils/ # Shared utilities
β βββ package.json
β
βββ docs/ # Documentation
β βββ ARCHITECTURE.md
β βββ SETUP.md
β βββ API.md
β
βββ docker-compose.yml # Local development services
βββ package.json # Root package.json
βββ turbo.json # Turborepo configuration
βββ README.md
# Development
npm run dev # Start all apps (web + api)
npm run dev:web # Start frontend only
npm run dev:api # Start backend only
# Build
npm run build # Build all apps
npm run build:web # Build frontend only
npm run build:api # Build backend only
# Database
npm run db:migrate # Run Prisma migrations
npm run db:seed # Seed database with test data
npm run db:studio # Open Prisma Studio
npm run db:reset # Reset database
# Testing
npm run test # Run all tests
npm run test:unit # Run unit tests
npm run test:e2e # Run E2E tests
npm run test:coverage # Generate coverage report
# Linting & Formatting
npm run lint # Run ESLint
npm run lint:fix # Fix linting errors
npm run format # Run Prettier
npm run format:fix # Fix formatting issues
# Type Checking
npm run typecheck # Run TypeScript type checks
# Docker
npm run docker:up # Start Docker services
npm run docker:down # Stop Docker services
npm run docker:logs # View Docker logs- Linting: ESLint + TypeScript
- Formatting: Prettier
- Type Checking: TypeScript strict mode
- Testing: Jest + Playwright (E2E)
- Pre-commit Hooks: Husky + lint-staged
| Document | Description |
|---|---|
ARCHITECTURE.md |
Detailed system architecture, database schema, API design |
SETUP.md |
Development environment setup, deployment guide |
API.md |
API endpoint documentation (auto-generated) |
| CLAUDE.md | Complete PRD and technical specifications |
npm run test:unitnpm run test:e2enpm run test:coveragenpm run build:web
vercel --prodnpm run build:api
docker build -t ShipSafe-api .
docker push your-registry/ShipSafe-api:latest
# Deploy via AWS Console or Terraform# Production
DATABASE_URL="postgresql://..." npx prisma migrate deploySee SETUP.md for complete deployment guide.
- β All data encrypted at rest and in transit (HTTPS/TLS 1.3)
- β No code stored longer than necessary (deleted after report)
- β User scans are private by default
- β GDPR/CCPA compliant
- β No user code used for AI training
| Data Type | Retention |
|---|---|
| Findings | Indefinitely (user-owned) |
| Temp artifacts | Deleted after 24 hours |
| PDFs | Indefinitely (user-owned) |
- We do not sell user data
- We do not use user code for AI model training
- Users can request full data deletion
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and linting (
npm run lint && npm run test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Check the
docs/folder - Issues: Open a GitHub issue
- Discussions: Join our GitHub Discussions
- Email: support@ShipSafe.dev
- GitHub repo scanning
- Live URL scanning
- Secrets detection
- AI explanations
- PDF reports
- Private GitHub repo scanning
- Advanced DAST (API testing)
- Stripe integration
- Freelancer features
- Team collaboration
- Scheduled scans
- Slack/webhook notifications
- Compliance mapping
- Built with Next.js
- Security scanning powered by Semgrep, OWASP ZAP, and Trivy
- AI explanations powered by OpenAI GPT-4o
- UI components from shadcn/ui
Built with β€οΈ for indie developers everywhere