Enterprise security training platform for supply chain threats
Project description
Supply Chain Security Academy
Transform your team into supply chain security experts with enterprise-grade training and compliance reporting.
What is this?
Supply Chain Security Academy is a B2B SaaS platform that gamifies npm supply chain security training for enterprise teams. Built on proven game mechanics from npm-threat-detector-game, it adds team management, Slack integration, and SOC2-compliant reporting—purpose-built for security teams during procurement windows opened by real-world threats like the Axios NPM breach.
Features
- Team Management – Invite users, track progress per seat, manage roles and permissions
- Interactive Challenges – 20+ hands-on npm threat detection scenarios and best practices
- Admin Dashboard – Real-time completion rates, time-per-challenge analytics, and team leaderboards
- Slack Integration – Weekly challenge notifications and achievement celebrations in your workspace
- Compliance Exports – SOC2/ISO27001-ready PDF reports documenting training completion hours
- Flexible Pricing – Freemium model with free tier (5 challenges, single-player) and Pro tier ($49/seat/year)
- Stripe Checkout – Secure billing for individuals and teams
Quick Start
Installation
# Clone the repository
git clone <repo-url>
cd supply-chain-security-academy
# Install dependencies
pip install -e .
# Copy environment template
cp .env.example .env
# Configure your credentials
# Update .env with database URL, Stripe keys, Slack bot token, etc.
# Initialize database
python -m backend.database init
# Run the server
python -m backend.main
Environment Setup
Create a .env file with:
DATABASE_URL=postgresql://user:password@localhost/academy
STRIPE_SECRET_KEY=sk_...
SLACK_BOT_TOKEN=xoxb-...
JWT_SECRET=your-secret-key
ENVIRONMENT=development
Usage Examples
Create a Team Account
POST /api/teams
{
"name": "Acme Security",
"email": "security@acme.com",
"seats": 5
}
Invite Team Members
POST /api/teams/{team_id}/invitations
{
"email": "engineer@acme.com",
"role": "player"
}
Generate Compliance Report
GET /api/teams/{team_id}/compliance-report?format=pdf
Configure Slack Integration
POST /api/integrations/slack
{
"team_id": "team_123",
"bot_token": "xoxb-...",
"channel": "#security-training"
}
Tech Stack
- Backend: Python 3.11, FastAPI
- Database: PostgreSQL
- Authentication: JWT
- Payments: Stripe
- Integrations: Slack API
- Compliance: SOC2-ready audit logging
- ORM: SQLAlchemy
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file supply_chain_security_academy-0.1.0.tar.gz.
File metadata
- Download URL: supply_chain_security_academy-0.1.0.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6721e9a5998b18b9df7d4982973f5c18c73de03d1d7b945b040c50d8b0c35a6
|
|
| MD5 |
8af58e72ce32e522cab0afa957191c81
|
|
| BLAKE2b-256 |
669bf02e329740ce4b279aef1e503a3f1a50ce21185077c9c37e49fd86d6bf50
|
File details
Details for the file supply_chain_security_academy-0.1.0-py3-none-any.whl.
File metadata
- Download URL: supply_chain_security_academy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
094d1ec5b8a5b8304998f620e3a55770977e1700c85df69b54e15ac97c48a182
|
|
| MD5 |
f92c2f8fbbba5768e2755381fc9de49f
|
|
| BLAKE2b-256 |
78d0ea544bebf63ef2e3798042031eacb9491154fa0041e676ed8df6efcb3ac3
|