Security Guide
XyPriss includes comprehensive security features to protect your application from common vulnerabilities. This guide covers basic configuration, security levels, and best practices.
Basic Security Configuration
Enable core security features globally in your server options:
typescript
import { createServer } from "xypriss";
const server = createServer({
security: {
enabled: true,
csrf: true,
rateLimit: {
max: 100,
windowMs: 15 * 60 * 1000, // 100 requests per 15 minutes
},
},
});Security Levels
XyPriss offers three pre-defined security levels to quickly configure your application's defensive posture.
Basic
- Essential security headers
- Basic CORS protection
- Request logging
Enhanced
- All basic features
- CSRF protection
- Rate limiting
- Input sanitization
- XSS protection
Maximum
- All enhanced features
- Strict CSP policies
- Advanced rate limiting
- IP whitelisting/blacklisting
- Request signature validation
typescript
const server = createServer({
security: {
enabled: true,
level: "enhanced", // "basic" | "enhanced" | "maximum"
},
});Security Headers
XyPriss automatically sets secure HTTP headers using Helmet. You can customize these directives in your configuration:
typescript
const server = createServer({
security: {
helmet: {
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'"],
scriptSrc: ["'self'"],
imgSrc: ["'self'", "data:", "https:"],
},
},
hsts: {
maxAge: 31536000,
includeSubDomains: true,
preload: true,
},
},
},
});Security Best Practices
Always enable HTTPS in production
Use environment variables for sensitive data
Implement rate limiting on auth endpoints
Validate and sanitize all user inputs
Keep dependencies updated regularly
Use CSRF protection for state-changing ops
Implement proper authentication
Log security events for monitoring
Monitoring & Logging
Enable security event logging to monitor for suspicious activity:
typescript
const server = createServer({
logging: {
enabled: true,
level: "info",
components: {
security: true,
},
},
security: {
enabled: true,
logSecurityEvents: true,
},
});XyPriss Security Shield
For projects requiring advanced protection, install the optional security shield:
bash
xfpm install xypriss-securityEnvironment Shield
Secure your server by preventing unauthorized access to sensitive system files and directories.
