{"version":3,"file":"index.mjs","sources":["../../../src/lib/security/index.ts"],"sourcesContent":["/**\n * @fileoverview Security Infrastructure Module\n * @module @/lib/security\n *\n * Comprehensive security infrastructure for the Harbor React Framework.\n * This module provides enterprise-grade security features including:\n *\n * - Content Security Policy (CSP) management with nonce support\n * - Cross-Site Scripting (XSS) prevention and sanitization\n * - Cross-Site Request Forgery (CSRF) protection\n * - Encrypted secure storage (localStorage/sessionStorage)\n * - React hooks for security operations\n * - Global security context provider\n *\n * @example Basic Usage\n * ```tsx\n * import {\n *   SecurityProvider,\n *   useSecurityContext,\n *   useCSRFToken,\n *   useSanitizedContent,\n * } from '@/lib/security';\n *\n * // Wrap your app with SecurityProvider\n * function App() {\n *   return (\n *     <SecurityProvider>\n *       <MainContent />\n *     </SecurityProvider>\n *   );\n * }\n *\n * // Use security features in components\n * function SecureForm() {\n *   const { formInputProps } = useCSRFToken();\n *\n *   return (\n *     <form method=\"POST\">\n *       <input {...formInputProps} />\n *       <button type=\"submit\">Submit</button>\n *     </form>\n *   );\n * }\n * ```\n *\n * @author Harbor Security Team\n * @version 1.0.0\n */\n\n// ============================================================================\n// Imports\n// ============================================================================\n\nimport { isDev } from '@/lib/core/config/env-helper';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type {\n  // CSP Types\n  CSPDirective,\n  CSPSourceValue,\n  CSPPolicy,\n  CSPNonce,\n  CSPManagerConfig,\n  CSPViolationReport,\n  CSPViolationHandler,\n  CSPNonceValue,\n  // XSS Types\n  HTMLEncodingContext,\n  SanitizationOptions,\n  DangerousContentResult,\n  DangerousThreatType,\n  ThreatDetail,\n  SafeHTMLResult,\n  SanitizedHTML,\n  TagTransformer,\n  // CSRF Types\n  CSRFToken,\n  CSRFConfig,\n  CSRFProtectionMode,\n  CSRFValidationResult,\n  CSRFRequestInterceptor,\n  ValidatedCSRFToken,\n  // Secure Storage Types\n  SecureStorageConfig,\n  SecureStorageInterface,\n  SecureStorageResult,\n  SecureStorageSetOptions,\n  SecureStorageMetadata,\n  StorageQuotaInfo,\n  EncryptedData,\n  EncryptionAlgorithm,\n  EncryptedString,\n  // Security Context Types\n  SecurityContextState,\n  SecurityContextActions,\n  SecurityContextValue,\n  SecurityViolation,\n  SecurityConfiguration,\n  SecurityEvent,\n  SecurityEventType,\n  SecurityEventHandler,\n  // Hook Return Types\n  UseSecureStorageResult,\n  UseCSPNonceResult,\n  UseCSRFTokenResult,\n  UseSanitizedContentResult,\n  // Utility Types\n  DeepReadonly,\n} from './types';\n\n// ============================================================================\n// CSP Manager\n// ============================================================================\n\nexport {\n  CSPManager,\n  generateNonce,\n  parseCSPString,\n  mergeCSPPolicies,\n  createStrictPolicy,\n  validateCSPPolicy,\n  type CSPManagerClass,\n} from './csp-manager';\n\n// ============================================================================\n// XSS Prevention\n// ============================================================================\n\nexport {\n  // Encoding functions\n  encodeHTML,\n  encodeHTMLAttribute,\n  encodeJavaScript,\n  encodeCSS,\n  encodeURL,\n  encodeURLParam,\n  encodeForContext,\n  decodeHTML,\n  // Sanitization functions\n  sanitizeHTML,\n  stripTags,\n  // Detection functions\n  detectDangerousContent,\n  isDangerous,\n  // Safe HTML utilities\n  createSafeHTMLProps,\n  createTextOnlyProps,\n  createSafeInnerHTMLRef,\n  // Type guards\n  isSanitizedHTML,\n  assertSanitizedHTML,\n  // Validation\n  isContextSafe,\n  isValidEmail,\n  isValidURL,\n} from './xss-prevention';\n\n// ============================================================================\n// CSRF Protection\n// ============================================================================\n\nexport {\n  CSRFProtection,\n  generateOneTimeToken,\n  createSecureRequestInit,\n  createProtectedFormHandler,\n  validateRequest,\n  createCSRFInputProps,\n  createCSRFMetaProps,\n  type CSRFProtectionClass,\n} from './csrf-protection';\n\n// ============================================================================\n// Secure Storage\n// ============================================================================\n\nexport {\n  SecureStorage,\n  createSecureLocalStorage,\n  createSecureSessionStorage,\n  initSecureStorage,\n  getSecureStorage,\n  isSecureStorageAvailable,\n  secureWipe,\n  generateEncryptionKey,\n  hashForKey,\n} from './secure-storage';\n\n// ============================================================================\n// Security Provider\n// ============================================================================\n\nexport {\n  SecurityProvider,\n  SecurityConsumer,\n  withSecurityProvider,\n  type SecurityProviderProps,\n} from './SecurityProvider';\n\nexport { SecurityContext } from '../contexts/SecurityContext';\n\n// ============================================================================\n// Security Hooks\n// ============================================================================\n\nexport {\n  // Secure Storage Hooks\n  useSecureStorage,\n  useSecureStorageWithTTL,\n  type UseSecureStorageOptions,\n  // CSP Nonce Hooks\n  useCSPNonce,\n  useNonceScript,\n  useNonceStyle,\n  type UseCSPNonceOptions,\n  // CSRF Token Hooks\n  useCSRFToken,\n  useSecureFetch,\n  useSecureFormSubmit,\n  type UseCSRFTokenOptions,\n  // XSS Prevention Hooks\n  useSanitizedContent,\n  useSafeInnerHTML,\n  useValidatedInput,\n  useSafeText,\n  useContextEncoder,\n  useSafeHTMLWithReport,\n  type UseSanitizedContentOptions,\n  // Security Context Hooks\n  useSecurityContext,\n  useSecurityState,\n  useSecurityActions,\n  useSecurityConfig,\n  useViolationReporter,\n  useViolations,\n  useSecurityStatus,\n  useSecurityReady,\n  useSecureHandler,\n} from './hooks';\n\n// ============================================================================\n// Convenience Re-exports from Config\n// ============================================================================\n\nexport {\n  securityConfig,\n  cspConfig,\n  csrfConfig,\n  secureStorageConfig,\n  SECURITY_TIMING,\n  SECURITY_HEADERS,\n  ALLOWED_HTML_TAGS,\n  ALLOWED_HTML_ATTRIBUTES,\n  ALLOWED_URL_SCHEMES,\n  isAllowedUrlScheme,\n  isAllowedOrigin,\n  isCSRFExcludedPath,\n  requiresCSRFProtection,\n  getSecurityConfigSummary,\n} from '@/config/security.config';\n\n// ============================================================================\n// Module Verification (Development Only)\n// ============================================================================\n\nif (isDev()) {\n  console.info('[Security] Module loaded successfully');\n}\n"],"names":["isDev"],"mappings":";;;;;;;;;;;;;AA4QIA,OACF,QAAQ,KAAK,uCAAuC;"}