/** * @fileoverview Security Infrastructure Module * @module @/lib/security * * Comprehensive security infrastructure for the Harbor React Framework. * This module provides enterprise-grade security features including: * * - Content Security Policy (CSP) management with nonce support * - Cross-Site Scripting (XSS) prevention and sanitization * - Cross-Site Request Forgery (CSRF) protection * - Encrypted secure storage (localStorage/sessionStorage) * - React hooks for security operations * - Global security context provider * * @example Basic Usage * ```tsx * import { * SecurityProvider, * useSecurityContext, * useCSRFToken, * useSanitizedContent, * } from '@/lib/security'; * * // Wrap your app with SecurityProvider * function App() { * return ( * * * * ); * } * * // Use security features in components * function SecureForm() { * const { formInputProps } = useCSRFToken(); * * return ( *
* * *
* ); * } * ``` * * @author Harbor Security Team * @version 1.0.0 */ export type { CSPDirective, CSPSourceValue, CSPPolicy, CSPNonce, CSPManagerConfig, CSPViolationReport, CSPViolationHandler, CSPNonceValue, HTMLEncodingContext, SanitizationOptions, DangerousContentResult, DangerousThreatType, ThreatDetail, SafeHTMLResult, SanitizedHTML, TagTransformer, CSRFToken, CSRFConfig, CSRFProtectionMode, CSRFValidationResult, CSRFRequestInterceptor, ValidatedCSRFToken, SecureStorageConfig, SecureStorageInterface, SecureStorageResult, SecureStorageSetOptions, SecureStorageMetadata, StorageQuotaInfo, EncryptedData, EncryptionAlgorithm, EncryptedString, SecurityContextState, SecurityContextActions, SecurityContextValue, SecurityViolation, SecurityConfiguration, SecurityEvent, SecurityEventType, SecurityEventHandler, UseSecureStorageResult, UseCSPNonceResult, UseCSRFTokenResult, UseSanitizedContentResult, DeepReadonly, } from './types'; export { CSPManager, generateNonce, parseCSPString, mergeCSPPolicies, createStrictPolicy, validateCSPPolicy, type CSPManagerClass, } from './csp-manager'; export { encodeHTML, encodeHTMLAttribute, encodeJavaScript, encodeCSS, encodeURL, encodeURLParam, encodeForContext, decodeHTML, sanitizeHTML, stripTags, detectDangerousContent, isDangerous, createSafeHTMLProps, createTextOnlyProps, createSafeInnerHTMLRef, isSanitizedHTML, assertSanitizedHTML, isContextSafe, isValidEmail, isValidURL, } from './xss-prevention'; export { CSRFProtection, generateOneTimeToken, createSecureRequestInit, createProtectedFormHandler, validateRequest, createCSRFInputProps, createCSRFMetaProps, type CSRFProtectionClass, } from './csrf-protection'; export { SecureStorage, createSecureLocalStorage, createSecureSessionStorage, initSecureStorage, getSecureStorage, isSecureStorageAvailable, secureWipe, generateEncryptionKey, hashForKey, } from './secure-storage'; export { SecurityProvider, SecurityConsumer, withSecurityProvider, type SecurityProviderProps, } from './SecurityProvider'; export { SecurityContext } from '../contexts/SecurityContext'; export { useSecureStorage, useSecureStorageWithTTL, type UseSecureStorageOptions, useCSPNonce, useNonceScript, useNonceStyle, type UseCSPNonceOptions, useCSRFToken, useSecureFetch, useSecureFormSubmit, type UseCSRFTokenOptions, useSanitizedContent, useSafeInnerHTML, useValidatedInput, useSafeText, useContextEncoder, useSafeHTMLWithReport, type UseSanitizedContentOptions, useSecurityContext, useSecurityState, useSecurityActions, useSecurityConfig, useViolationReporter, useViolations, useSecurityStatus, useSecurityReady, useSecureHandler, } from './hooks'; export { securityConfig, cspConfig, csrfConfig, secureStorageConfig, SECURITY_TIMING, SECURITY_HEADERS, ALLOWED_HTML_TAGS, ALLOWED_HTML_ATTRIBUTES, ALLOWED_URL_SCHEMES, isAllowedUrlScheme, isAllowedOrigin, isCSRFExcludedPath, requiresCSRFProtection, getSecurityConfigSummary, } from '../../config/security.config';