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