Skip to content

Repository files navigation

ResilienceLab

ResilienceLab is a hackathon-ready cyber-resilience training product. Employees work inside a fictional inbox containing legitimate mail and adaptive phishing simulations; administrators see aggregate readiness, coaching flags, autonomous scheduling, and governance evidence.

Everything runs with curated templates and in-memory state by default. OpenAI and Neon become active when their environment variables are supplied.

Run locally

npm install
cp .env.example .env.local
npm run dev

Open http://localhost:3000 and choose the administrator or one of three fictional employees.

Environment

  • OPENAI_API_KEY: enables schema-constrained scenario generation and moderation.
  • OPENAI_MODEL: defaults to gpt-5.6.
  • DATABASE_URL: optional Neon Postgres connection; otherwise state remains in memory.
  • CRON_SECRET: protects the Vercel daily planner endpoint.
  • DEMO_SESSION_SECRET: signs the role-switcher session cookie.

The Vercel cron runs daily at 07:15 UTC. Exact employee delivery times are held in the database and messages become visible only when their randomized scheduledAt time is reached. The admin fast-forward control demonstrates this without waiting.

Verify

npm run lint
npm test
npm run build

Safety boundary

All names, domains, personal facts, forms, attachments, links, and credentials are fictional. Links never navigate outside the app, attachments never execute or download, and no live email is sent.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages