We are committed to keeping HonestLiar secure. The following versions are currently supported with security updates:
| Version | Supported |
|---|---|
| 1.x | ✅ |
| < 1.0 | ❌ |
We take security vulnerabilities seriously. If you discover a security issue, please follow these guidelines:
-
Report privately - Do NOT create a public GitHub issue for security vulnerabilities
-
Email us directly - Send details to your security contact email
-
Provide details - Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if you have one)
- Your contact information
-
Allow time for response - We aim to respond within 48 hours
-
Give us time to fix - Please allow reasonable time for us to address the issue before public disclosure
- Don't publicly disclose the vulnerability before it's fixed
- Don't exploit the vulnerability beyond what's necessary to demonstrate it
- Don't access, modify, or delete other users' data
- Don't perform attacks that could harm service availability (DDoS, spam, etc.)
If you're running your own instance of HonestLiar:
Required Security Measures:
-
Use HTTPS in production
// Use SSL certificates (Let's Encrypt, etc.) const https = require('https'); const fs = require('fs'); const options = { key: fs.readFileSync('privkey.pem'), cert: fs.readFileSync('cert.pem') }; https.createServer(options, app).listen(3001);
-
Enable CORS properly
// Restrict CORS to your domain const cors = require('cors'); app.use(cors({ origin: 'https://yourdomain.com', credentials: true }));
-
Use environment variables
- Never commit
.envfiles - Use strong MongoDB credentials
- Rotate credentials regularly
- Never commit
-
Implement rate limiting
const rateLimit = require('express-rate-limit'); const limiter = rateLimit({ windowMs: 15 * 60 * 1000, // 15 minutes max: 100 // limit each IP to 100 requests per windowMs }); app.use(limiter);
-
Keep dependencies updated
npm audit npm update
If using MongoDB:
-
Enable authentication
MONGODB_URI=mongodb://username:password@localhost:27017/honestliar -
Use network isolation
- Don't expose MongoDB directly to the internet
- Use firewall rules
- Use VPN or private networks
-
Regular backups
mongodump --uri="mongodb://localhost:27017/honestliar" --out=backup -
Enable encryption at rest (MongoDB Enterprise)
Frontend Best Practices:
-
Sanitize user input
- Never trust user input
- Validate all data client and server-side
- Use proper escaping for HTML/JavaScript
-
Don't store sensitive data
- No passwords or personal info in localStorage
- Use secure, httpOnly cookies for sessions
-
Content Security Policy
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
Socket.IO Best Practices:
-
Validate all events
socket.on("user_action", (data) => { if (!isValid(data)) { socket.emit("error", "Invalid data"); return; } // Process action });
-
Implement authentication
io.use((socket, next) => { const token = socket.handshake.auth.token; if (isValidToken(token)) { next(); } else { next(new Error("Authentication failed")); } });
-
Rate limit socket events
- Prevent spam and abuse
- Disconnect abusive clients
- No built-in authentication - Server doesn't verify player identity
- Room codes are simple - 6-character alphanumeric codes
- No encryption by default - Use HTTPS in production
- In-memory storage - Data not persisted by default
- No input sanitization - Implement if exposing to untrusted users
- Add optional authentication system
- Implement rate limiting
- Add input validation and sanitization
- Create security audit checklist
- Add automated security testing
- Day 0: Vulnerability reported privately
- Day 1-2: Initial response and acknowledgment
- Day 3-7: Investigation and fix development
- Day 8-14: Testing and validation
- Day 15: Public disclosure and patch release
Security patches are released as soon as possible after a vulnerability is confirmed. Users are notified through:
- GitHub Security Advisories
- Release notes
- Email notifications (if subscribed)
- Don't share personal information during gameplay
- Use unique room codes - Don't reuse codes
- Be cautious with links - Verify the game URL
- Report suspicious behavior to server operators
- Monitor logs for suspicious activity
- Keep software updated regularly
- Backup data frequently
- Use strong passwords for databases
- Enable HTTPS in production
- Implement rate limiting to prevent abuse
- Review access logs periodically
If hosting in EU or serving EU users:
- Implement data deletion - Users should be able to delete their data
- Privacy policy - Provide clear information about data usage
- Cookie consent - If using cookies, implement consent mechanism
- Data retention - Define and enforce data retention policies
This game is recommended for ages 13+. If allowing younger users:
- Parental consent required for users under 13
- No personal information collection from children
- Compliance with COPPA regulations
For security-related inquiries:
- Security Issues: Report privately via email
- General Questions: Use GitHub Discussions
- Non-Security Bugs: Use GitHub Issues
We appreciate security researchers who responsibly disclose vulnerabilities. Contributors will be credited in our security advisories (unless they prefer to remain anonymous).
Last Updated: January 2, 2026
This policy is subject to change. Please check back regularly for updates.