sitetooling.space
Marketplace/CyberPulse

CyberPulse

CyberPulse

CyberPulse — Cyber Posture Intelligence Platform Small Businesses, One Domain at a Time CyberPulse is a full-stack SaaS platform that gives Small Businesses SMEs an instant, comprehensive cyber security posture score — complete with AI-generated risk narratives, dark web monitoring, insurance readiness scoring, and tamper-proof PDF attestations. SCCA Integration CyberPulse integrates the SCCA Protocol (Secure Cryptographic Compliance Architecture) for three core functions: Encryption — All sensitive scan results are encrypted using AES-256-GCM with HKDF-derived keys before storage. The master key is stored in SCCA_MASTER_KEY. Integrity Chain — Each scan report is hashed using a Merkle-HMAC chain (HMAC-SHA256). The root hash is stored alongside the report. Before any report is served via the API, the integrity root is re-verified — a 409 error is returned if tampering is detected. SSE Streaming — Real-time scan progress is streamed to the client using Server-Sent Events, allowing the UI to update as each scan category completes.

Repository Details

Languages
TypeScript99.8%
CSS0.1%
JavaScript0.1%
0stars
Last updated 12 days ago
View Live Demo

README

CyberPulse — Cyber Posture Intelligence Platform

Securing African Business, One Domain at a Time

CyberPulse is a full-stack SaaS platform that gives South African SMEs an instant, comprehensive cyber security posture score — complete with AI-generated risk narratives, dark web monitoring, insurance readiness scoring, and tamper-proof PDF attestations.


Architecture

┌─────────────────────────────────────────────────────────────────┐
│                        CYBERPULSE                               │
│                                                                 │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────────┐  │
│  │  Next.js 16  │    │  Prisma ORM  │    │   PostgreSQL DB  │  │
│  │  App Router  │◄──►│  (schema)    │◄──►│   (data store)   │  │
│  │  TypeScript  │    └──────────────┘    └──────────────────┘  │
│  └──────┬───────┘                                               │
│         │                                                       │
│  ┌──────▼───────────────────────────────────────────────────┐  │
│  │                    SCANNER ENGINE                         │  │
│  │  dns-email │ ssl-tls │ http-headers │ open-ports │ cve   │  │
│  │  backup-hygiene │ dark-web (HIBP)                         │  │
│  └──────┬───────────────────────────────────────────────────┘  │
│         │                                                       │
│  ┌──────▼──────────┐    ┌────────────────┐    ┌─────────────┐  │
│  │  AI MODULE      │    │  SCCA MODULE   │    │  REPORTS    │  │
│  │  Claude Sonnet  │    │  AES-256-GCM   │    │  PDF (react-│  │
│  │  Narratives     │    │  Merkle HMAC   │    │  pdf)       │  │
│  │  Underwriting   │    │  SSE Streams   │    └─────────────┘  │
│  └─────────────────┘    └────────────────┘                     │
└─────────────────────────────────────────────────────────────────┘

SCCA Integration

CyberPulse integrates the SCCA Protocol (Secure Cryptographic Compliance Architecture) for three core functions:

  1. Encryption — All sensitive scan results are encrypted using AES-256-GCM with HKDF-derived keys before storage. The master key is stored in SCCA_MASTER_KEY.

  2. Integrity Chain — Each scan report is hashed using a Merkle-HMAC chain (HMAC-SHA256). The root hash is stored alongside the report. Before any report is served via the API, the integrity root is re-verified — a 409 error is returned if tampering is detected.

  3. SSE Streaming — Real-time scan progress is streamed to the client using Server-Sent Events, allowing the UI to update as each scan category completes.


Setup Instructions

1. Prerequisites

  • Node.js 18+
  • PostgreSQL 14+
  • npm or yarn

2. Install Dependencies

npm install

3. Configure Environment

Create .env.local with at least NEXTAUTH_SECRET, NEXTAUTH_URL and SCCA_MASTER_KEY (see the table below). Generate secrets with:

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

No database needed for scanning. On localhost, /scan (free scan) and /dashboard/scan/new (full report + PDF) work without PostgreSQL or an account. The database is only needed for accounts, saved scan history, and attestations.

4. Database Setup

npx prisma generate
npx prisma migrate dev --name init

5. Run Development Server

npm run dev

Open http://localhost:3000


Environment Variables

VariableDescriptionRequired
NEXT_PUBLIC_APP_URLPublic URL of your appYes
DATABASE_URLPostgreSQL connection stringYes
NEXTAUTH_SECRETRandom secret for JWT signingYes
NEXTAUTH_URLApp URL for NextAuthYes
ANTHROPIC_API_KEYClaude API keyYes (AI features)
HIBP_API_KEYHaveIBeenPwned API keyYes (dark web)
SCCA_MASTER_KEYEncryption master key (32+ chars)Yes
SHODAN_API_KEYShodan API keyOptional
SMTP_HOSTSMTP server hostYes (emails)
SMTP_PORTSMTP portYes (emails)
SMTP_USERSMTP usernameYes (emails)
SMTP_PASSSMTP password/app passwordYes (emails)

API Route Reference

MethodRouteAuthDescription
POST/api/auth/registerPublicRegister new user
POST/api/auth/[...nextauth]PublicNextAuth sign-in/out
POST/api/scan/startRequiredStart full authenticated scan
GET/api/scan/[scanId]/streamRequiredSSE stream of scan progress
GET/api/scan/[scanId]/reportRequiredGet scan results (integrity-verified)
POST/api/scan/[scanId]/recheckRequiredRe-run scan
GET/api/org/[orgId]/attestationRequiredGet/generate insurance attestation
POST/api/scan/freePublicRun free teaser scan (rate limited 3/24h)
POST/api/scan/free/emailPublicEmail free scan results
POST/api/darkweb/checkRequiredCheck email against HIBP

Scan Checks

CategoryWeightWhat's Checked
DNS / Email20%SPF, DKIM, DMARC, MX, CAA records
SSL / TLS20%Certificate validity, expiry, TLS version, HSTS
HTTP Headers15%CSP, X-Frame-Options, X-Content-Type, Referrer-Policy, Permissions-Policy
Open Ports25%Telnet (23), RDP (3389), VNC (5900), MSSQL (1433), MySQL (3306), Redis (6379), MongoDB (27017)
CVE Exposure15%Tech stack detection + NVD CVE database lookup for CVSS 7.0+
Backup Hygiene5%Last backup date, offsite storage, restoration testing

Free tier includes: DNS/Email, SSL/TLS, HTTP Headers, Dark Web only.


AI Features

FeatureModelOutput
Risk NarrativeClaude Sonnet3–4 paragraph plain English summary for SME owners
Remediation StepsClaude SonnetNumbered step-by-step fix instructions (max 8 steps)
Underwriting ScoreClaude SonnetJSON: score, grade, risk/positive factors, coverage recommendation
Dark Web AnalysisClaude SonnetPlain English breach summary (max 150 words)

Roadmap

Phase 1 — MVP (Current)

  • 6-category automated security scan
  • AI risk narratives and underwriting scoring
  • Dark web monitoring via HIBP
  • Tamper-proof PDF attestations
  • Free public scanner with lead capture
  • SCCA encryption and integrity chain

Phase 2 — Insurer API

  • Cyan Insurance API integration
  • Real-time policy quoting
  • Automated premium calculation from underwriting score
  • Broker dashboard and white-label options

Phase 3 — White-label & Scale

  • Multi-tenant white-label deployment
  • MSP (Managed Service Provider) portal
  • Continuous monitoring with daily rescans
  • SIEM integration (Splunk, Microsoft Sentinel)
  • Compliance mapping (ISO 27001, POPIA, SOC 2)

Live Preview

Preview•Open in new tab

Loading preview...

Note: Some websites may block embedding. If the preview doesn't load, click "Open in new tab" above.