jpglens
Version:
🔍 Universal AI-Powered UI Testing - See your interfaces through the lens of intelligence
93 lines • 2.28 kB
TypeScript
/**
* 🔍 jpglens - Security Layer
* Universal AI-Powered UI Testing
*
* @author Taha Bahrami (Kaito)
* @license MIT
*/
/**
* Security utilities for jpglens
* Implements enterprise-grade security practices
*/
export declare class SecurityManager {
private static instance;
private sessionId;
private allowedDomains;
private rateLimiter;
constructor();
static getInstance(): SecurityManager;
/**
* Initialize default security settings
*/
private initializeDefaults;
/**
* Generate secure session ID
*/
private generateSessionId;
/**
* Validate API key format (without exposing the key)
*/
validateApiKey(apiKey: string): {
valid: boolean;
errors: string[];
};
/**
* Sanitize screenshot data before AI analysis
*/
sanitizeScreenshot(buffer: Buffer): Buffer;
/**
* Check if buffer contains valid image data
*/
private isValidImageBuffer;
/**
* Validate URL for screenshot capture
*/
validateUrl(url: string): {
valid: boolean;
errors: string[];
};
/**
* Check if hostname appears suspicious
*/
private isSuspiciousHostname;
/**
* Check if domain is in allowed list
*/
private isDomainAllowed;
/**
* Add allowed domain
*/
addAllowedDomain(domain: string): void;
/**
* Rate limiting for AI API calls
*/
checkRateLimit(identifier: string, maxRequests?: number, windowMs?: number): boolean;
/**
* Sanitize user context data
*/
sanitizeUserContext(context: any): any;
/**
* Generate secure hash for caching
*/
generateCacheKey(data: any): string;
/**
* Validate AI response for potential security issues
*/
validateAIResponse(response: string): {
valid: boolean;
warnings: string[];
};
/**
* Cleanup sensitive data from logs
*/
sanitizeLogData(data: any): any;
/**
* Get security headers for API requests
*/
getSecurityHeaders(userAgent?: string): Record<string, string>;
/**
* Audit log entry
*/
createAuditLog(action: string, data: any, success: boolean): any;
}
//# sourceMappingURL=security.d.ts.map