An open source platform for learning Azure cloud security engineering. 8 structured modules — from IAM and network security to DevSecOps — with hands-on labs, progress tracking, and curated resources. Free, practical, and community-driven.
Live site: securecloudx.xyz
git clone https://github.com/0tieno/securecloudX.git
cd securecloudX
cp .env.example .env # fill in your Supabase keys
npm install
npm run devOpen http://localhost:5173.
- React 19 + Vite 6 — frontend
- Tailwind CSS 4 — styling
- Supabase — auth (GitHub OAuth), progress tracking, certificates
- react-router-dom v7 — routing
- ReactMarkdown + remark-gfm — markdown rendering
| # | Module | Topics |
|---|---|---|
| 1 | Identity & Access Management | Entra ID, RBAC, Conditional Access, PIM |
| 2 | Network Security | NSGs, Azure Firewall, Private Link, DDoS Protection |
| 3 | Data Protection | Encryption, Key Vault, storage security, DLP |
| 4 | Threat Detection | Microsoft Sentinel, Defender for Cloud, KQL |
| 5 | Security Monitoring | Log Analytics, workbooks, alerting pipelines |
| 6 | Incident Response | NIST framework, playbooks, containment, forensics |
| 7 | Capstone Project | End-to-end secure architecture deployment |
| 8 | DevSecOps Fundamentals | CI/CD security, SAST, SCA, secret scanning, IaC scanning |
securecloudX/
├── Docs/blogs/ # Blog posts (markdown with frontmatter)
├── public/blog/ # Auto-generated — do not edit manually
├── scripts/
│ ├── blog-pipeline.js # Syncs Docs/blogs/ → public/blog/ at build time
│ └── blog-manager.js # CLI helper for creating posts
├── src/
│ ├── components/ # Shared UI components
│ ├── contexts/ # Auth context (Supabase)
│ ├── data/ # Static data (changelog, pricing, resources, etc.)
│ ├── hooks/ # useProgress, useStepProgress, etc.
│ ├── lib/ # Supabase client
│ ├── pages/ # Route-level components + module pages
│ ├── routes/ # Route config
│ └── utils/ # Helpers (frontmatter parser, etc.)
├── CONTRIBUTING_BLOGS.md
├── CONTRIBUTING_LABS.md
├── LICENCE.md
└── SECURITY.md
Blog posts live in Docs/blogs/ as plain markdown files. The build pipeline syncs them to public/blog/ and generates blog-manifest.json automatically.
To publish a post: add a .md file with frontmatter to Docs/blogs/. See CONTRIBUTING_BLOGS.md.
- Blog posts → CONTRIBUTING_BLOGS.md
- Labs → CONTRIBUTING_LABS.md
Found a vulnerability? Please report it responsibly — see SECURITY.md.
- Founder's profile
- Email: securecloudx.learn@gmail.com
- GitHub: github.com/0tieno/securecloudX
- Twitter/X: @securecloudX
MIT © 2025-present Ronney Otieno