/** * Storage Default Configurations * * Sensible default configurations for the storage system. * These defaults provide production-ready compliance and operational behavior. * * @module src/storage/defaults */ import type { StorageComplianceConfig, StorageRetentionPolicy, StoragePresetConfig, StorageVariantConfig } from '@plyaz/types'; import { FILE_CATEGORY, STORAGE_VARIANT_NAME } from '@plyaz/types'; /** * Default retention policy - FINANCE/CRYPTO FOCUSED * * - 7 years retention (financial/tax compliance requirement) * - Soft delete enabled with 60-day grace period * - Not immutable by default (allows correction of errors) * - Financial industry standard retention * * This policy is designed for crypto/blockchain platforms and provides: * - IRS/SEC compliance (7-year retention) * - Extended grace period for financial data recovery (60 days) * - Audit trail for regulatory requirements * - Transaction record preservation * * Suitable for: Crypto wallets, blockchain platforms, financial services */ export declare const DEFAULT_RETENTION_POLICY: StorageRetentionPolicy; /** * Default compliance configuration - CRYPTO/FINANCE PLATFORM * * Compliance is enabled by default with finance-focused defaults: * - 7-year retention (IRS/SEC/FinCEN compliance) * - Soft delete with 60-day grace period * - Financial transaction audit trails * - Not in strict mode (warnings instead of errors) * * Designed for crypto wallets, blockchain platforms, and financial services. * * Override this configuration for specific categories: * - Transaction records: 7+ years retention, audit trail * - Wallet backups: 7+ years retention, immutable * - KYC/AML documents: 5-7 years retention per jurisdiction * - Tax documents: 7+ years retention, immutable * - Audit logs: 7+ years retention, immutable * - Legal documents: 7+ years retention, immutable * - Personal data: GDPR/CCPA-compliant deletion (user request) */ export declare const DEFAULT_COMPLIANCE_CONFIG: StorageComplianceConfig; /** * Preset retention policies for common use cases * * These can be used as templates or applied directly to file categories. */ export declare const PRESET_RETENTION_POLICIES: { /** * Legal document retention * - 7 years retention (common legal requirement) * - Immutable during retention period * - Soft delete with grace period * - Compliant with SOX, GDPR, and other frameworks */ LEGAL: StorageRetentionPolicy; /** * Financial document retention * - 7 years retention (IRS, SEC requirements) * - Immutable during retention period * - Soft delete with extended grace period */ FINANCIAL: StorageRetentionPolicy; /** * Tax document retention * - 7 years retention (IRS requirement) * - Immutable during retention period * - Soft delete enabled */ TAX: StorageRetentionPolicy; /** * Medical/health record retention * - 10 years retention (HIPAA recommendation) * - Immutable during retention period * - Strict soft delete */ MEDICAL: StorageRetentionPolicy; /** * Audit log retention * - 1 year retention (security best practice) * - Immutable (cannot be modified or deleted) * - No grace period (permanent) */ AUDIT: StorageRetentionPolicy; /** * Temporary file retention * - No retention requirement * - Can be deleted immediately * - 7-day grace period for recovery */ TEMPORARY: StorageRetentionPolicy; /** * Personal data retention (GDPR/CCPA) * - No mandatory retention * - Can be deleted on user request * - 30-day grace period for accidental deletion */ PERSONAL_DATA: StorageRetentionPolicy; /** * Crypto transaction records * - 7 years retention (IRS/SEC/FinCEN requirement) * - Immutable for audit trail integrity * - Extended grace period for recovery * - Blockchain transaction records, wallet operations, trades */ CRYPTO_TRANSACTION: StorageRetentionPolicy; /** * KYC/AML documents * - 7 years retention (FinCEN/BSA requirement) * - Immutable for regulatory audit * - Extended grace period (90 days) * - Identity verification, proof of address, source of funds */ KYC_AML: StorageRetentionPolicy; /** * Wallet backups & recovery seeds * - 7 years retention (security best practice) * - Immutable for security * - Extended grace period (90 days) * - Encrypted wallet backups, recovery phrases, private key backups */ WALLET_BACKUP: StorageRetentionPolicy; }; /** * Built-in Variant Presets * * Standard transformation presets optimized for common use cases. * Each preset includes device-aware variants for optimal performance * across mobile, tablet, desktop, and 4K displays. * * Available presets: * - profile-picture: Square images for user profiles (1:1) * - post-image: Feed/content images with flexible aspect ratios * - hero-banner: Large banner images with 16:9 aspect ratio * - video-streaming: Multi-resolution video transcoding * - social-share: Optimized for social media platforms * - product-image: E-commerce product photos */ export declare const BUILT_IN_PRESETS: StoragePresetConfig[]; /** * Default Variants by File Category * * Automatic variant generation based on file category. * When no preset is specified, these defaults are applied. * * Device-aware: Variants are automatically filtered based on target device * to avoid generating unnecessary files and reduce storage costs. */ export declare const DEFAULT_VARIANTS_BY_CATEGORY: Partial>; /** * Device-specific Variant Overrides * * These mappings override the category defaults when a specific device is targeted. * Useful for mobile-first or desktop-first optimizations. */ export declare const DEVICE_SPECIFIC_VARIANT_OVERRIDES: Partial>>>; /** * Minimum Variant Requirements * * These categories must always generate at least these variants, * regardless of device targeting, for fallback compatibility. */ export declare const MINIMUM_VARIANTS_BY_CATEGORY: Partial>; /** * Standard Variant Definitions * * Maps variant names to their configuration. * Used by PresetManager to resolve variant names like 'thumbnail', 'mobile', '720p' * to actual variant configurations with dimensions, format, quality, etc. * * This is the source of truth for all standard variant names across the platform. */ export declare const STANDARD_VARIANT_DEFINITIONS: Record>; //# sourceMappingURL=defaults.d.ts.map