Skip to content

princepal9120/shipsafe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ShipSafe

ShipSafe License Status

Security scanning platform for indie builders, vibe coders, freelancers, and early-stage teams

Features β€’ Architecture β€’ Quick Start β€’ Documentation


🎯 About ShipSafe

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.

Why ShipSafe?

  • 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

Target Users

User Type Use Case
Solo Builders Pre-launch security validation
Freelancers/Agencies Client handoff audit reports
Vibe Coders AI-generated code validation

✨ Features

Code Scanning

  • βœ… 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#

Live App Scanning

  • βœ… 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

AI-Powered Insights

  • βœ… Plain-English vulnerability explanations
  • βœ… Severity scoring (CRITICAL, HIGH, MEDIUM, LOW)
  • βœ… Step-by-step fix recommendations
  • βœ… Code snippets and examples
  • βœ… Security glossary with inline definitions

Reporting & Sharing

  • βœ… 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

Pricing

  • 1 free scan per user
  • $30 per additional scan
  • No subscriptions, no hidden fees

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    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) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

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.


πŸš€ Quick Start

Prerequisites

  • Node.js 24.x LTS
  • Docker & Docker Compose
  • PostgreSQL 18.1
  • Redis 8.4.x
  • OpenAI API key

Development Setup

# 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 dev

Access the application at:

Environment Variables

# 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:5000

See SETUP.md for detailed setup instructions.


πŸ“ Project Structure

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 Workflow

Available Scripts

# 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

Code Quality

  • Linting: ESLint + TypeScript
  • Formatting: Prettier
  • Type Checking: TypeScript strict mode
  • Testing: Jest + Playwright (E2E)
  • Pre-commit Hooks: Husky + lint-staged

πŸ“š Documentation

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

πŸ§ͺ Testing

Unit Tests

npm run test:unit

E2E Tests

npm run test:e2e

Test Coverage

npm run test:coverage

🚒 Deployment

Frontend (Vercel)

npm run build:web
vercel --prod

Backend (AWS ECS)

npm run build:api
docker build -t ShipSafe-api .
docker push your-registry/ShipSafe-api:latest
# Deploy via AWS Console or Terraform

Database Migrations

# Production
DATABASE_URL="postgresql://..." npx prisma migrate deploy

See SETUP.md for complete deployment guide.


πŸ”’ Security & Privacy

Security Commitments

  • βœ… 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 Retention

Data Type Retention
Findings Indefinitely (user-owned)
Temp artifacts Deleted after 24 hours
PDFs Indefinitely (user-owned)

Privacy

  • We do not sell user data
  • We do not use user code for AI model training
  • Users can request full data deletion

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Process

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run tests and linting (npm run lint && npm run test)
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™‹ Support

  • Documentation: Check the docs/ folder
  • Issues: Open a GitHub issue
  • Discussions: Join our GitHub Discussions
  • Email: support@ShipSafe.dev

πŸ—ΊοΈ Roadmap

MVP (Weeks 1-3) βœ…

  • GitHub repo scanning
  • Live URL scanning
  • Secrets detection
  • AI explanations
  • PDF reports

Phase 2 (Weeks 4-8)

  • Private GitHub repo scanning
  • Advanced DAST (API testing)
  • Stripe integration
  • Freelancer features

Phase 3+ (Months 2-3)

  • Team collaboration
  • Scheduled scans
  • Slack/webhook notifications
  • Compliance mapping

🌟 Acknowledgments


Built with ❀️ for indie developers everywhere

⬆ Back to top

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages