UNPKG

jpglens

Version:

🔍 Universal AI-Powered UI Testing - See your interfaces through the lens of intelligence

93 lines 2.28 kB
/** * 🔍 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