Live Portal: https://portal.invokehoneybadger.com
The HoneyBadger Vanguard (iHBV) Portal v3.0 is a security-hardened, static operations dashboard for real-time system monitoring, telemetry visualization, and deployment tracking. Built with zero external dependencies and comprehensive XSS prevention.
- 🔒 Security Hardened: CSP headers, input sanitization, schema validation
- 📊 Real-Time Monitoring: System health, node status, deployment tracking
- ⚡ Zero Dependencies: Pure vanilla JavaScript, no third-party libraries
- ♿ Accessible: WCAG 2.1 compliant, ARIA landmarks, screen reader support
- 🎨 HBV v3.0 Branding: Consistent iHBV visual identity and theming
- 📱 Responsive: Mobile-first design with adaptive layouts
invokehoneybadger-portal/
├── assets/
│ ├── css/
│ │ └── style.css # HBV v3.0 theme + accessibility
│ ├── img/
│ │ └── hbv-portal-logo.svg # iHBV branding
│ └── js/
│ └── main.js # Secure dashboard logic (XSS-proof)
├── data/
│ ├── status.json # Live status data feed
│ └── status.schema.json # JSON schema validation
├── .github/
│ └── workflows/
│ └── ci.yml # Automated testing & validation
├── index.html # Main dashboard (CSP-protected)
├── SECURITY.md # Security policy & reporting
├── LICENSE # MIT License
└── README.md # This file
-
Clone the repository
git clone https://github.com/invokehoneybadger/invokehoneybadger-portal.git cd invokehoneybadger-portal -
Install dev dependencies (optional, for linting)
npm install
-
Serve locally
# Using Python 3 python -m http.server 8000 # Using Node.js npx serve . # Using PHP php -S localhost:8000
-
Open browser
http://localhost:8000
Edit data/status.json to update dashboard metrics:
{
"healthPct": 98,
"incidents": 0,
"lastDeployISO": "2025-12-19T12:00:00Z",
"nodes": [
{
"name": "Node0",
"status": "OK",
"cpu": 24,
"mem": 52
}
]
}Schema Validation: Data is automatically validated against data/status.schema.json
-
Configure Pages
- Go to:
Settings→Pages - Source:
Deploy from branch - Branch:
main(root directory) - Click Save
- Go to:
-
Custom Domain (optional)
portal.invokehoneybadger.com- Add
CNAMEfile (already included) - Configure DNS:
CNAME→<username>.github.io - Enable Enforce HTTPS ✓
- Add
-
Security Headers
- GitHub Pages automatically serves over HTTPS
- CSP headers configured in
index.html
- Cloudflare Pages: Zero config deployment
- Netlify: Drag & drop or Git integration
- Vercel: Automatic deployments from Git
- AWS S3 + CloudFront: Enterprise CDN hosting
✅ XSS Prevention: DOM-based rendering, HTML escaping ✅ Content Security Policy: Strict CSP headers block inline scripts ✅ Input Validation: All data validated against JSON schema ✅ DoS Prevention: Node count limits, timeout controls ✅ Secure Headers: X-Frame-Options, X-Content-Type-Options, Referrer-Policy ✅ No External Dependencies: Zero supply chain attack surface
DO NOT create public issues for security bugs.
📧 Email: security@invokehoneybadger.com
See SECURITY.md for full disclosure policy.
# Lint JavaScript
npm run lint
# Auto-fix linting issues
npm run lint:fix
# Format all files
npm run format
# Check formatting
npm run format:check
# Run all validations
npm run validateCurrently no automated tests. Manual testing checklist:
- Dashboard loads without errors
- Status data fetches and displays correctly
- Fallback mock data displays on fetch failure
- Node list renders with correct CPU/MEM metrics
- Telemetry chart draws without errors
- All links open in new tabs with
rel="noopener noreferrer" - CSP headers don't block legitimate resources
- Mobile responsive layout works correctly
| Browser | Version | Status |
|---|---|---|
| Chrome | 90+ | ✅ Supported |
| Firefox | 88+ | ✅ Supported |
| Safari | 14+ | ✅ Supported |
| Edge | 90+ | ✅ Supported |
Requirements: ES2020+ (async/await, optional chaining, nullish coalescing)
- Full Name: HoneyBadger Vanguard v3.0
- Short Name: HBV v3.0
- Prefix: iHBV (invoke HoneyBadger)
- Domain: invokehoneybadger.com
--hbv-bg: #0a0a0a /* Background (near black) */
--hbv-fg: #fbee00 /* Primary yellow */
--hbv-dim: #c9bd00 /* Dimmed yellow */
--hbv-accent: #3aa0ff /* Blue accent */- Use
assets/img/hbv-portal-logo.svgfor all branding - Logo displays "HBV · PORTAL" text
- Yellow (#fbee00) on black (#0a0a0a)
Current Version: 3.0.0 (December 2025)
- ✅ Complete security hardening (XSS prevention, CSP headers)
- ✅ Refactored JavaScript (eliminated code duplication)
- ✅ Added comprehensive documentation
- ✅ Implemented accessibility features (ARIA, semantic HTML)
- ✅ Added MIT license and security policy
- ✅ Updated branding to HBV v3.0 / iHBV standards
- ✅ Added ESLint/Prettier configuration
- ✅ Created CI/CD workflow
We welcome contributions! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit with semantic messages (
git commit -m 'Add XYZ feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
Code Standards:
- Follow existing code style
- Run
npm run validatebefore committing - Update documentation for new features
- Maintain security best practices
This project is licensed under the MIT License - see LICENSE file.
Copyright © 2025 HoneyBadger Vanguard (iHBV)
- Live Portal: https://portal.invokehoneybadger.com
- Main Site: https://invokehoneybadger.com
- API Gateway: https://api.invokehoneybadger.com
- GitHub: https://github.com/invokehoneybadger
- Issues: https://github.com/invokehoneybadger/invokehoneybadger-portal/issues
For questions or support:
- 📧 Email: support@invokehoneybadger.com
- 🐛 Issues: GitHub Issues
- 🔒 Security: security@invokehoneybadger.com
Built with ❤️ by the HoneyBadger Vanguard (iHBV) Team