a['db_dsn'] ?? ''); } public function dbUser(): string { return (string)($this->a['db_user'] ?? ''); } public function dbPass(): string { return (string)($this->a['db_pass'] ?? ''); } public function snapshotDir(): string { return (string)($this->a['snapshot_dir'] ?? __DIR__ . '/../storage/snapshots'); } public function nonceTtl(): int { return (int)($this->a['nonce_ttl'] ?? 86400); } public function timestampWindow(): int { return (int)($this->a['timestamp_window'] ?? 300); } public function rateLimitPerMin(): int { return (int)($this->a['rate_limit_per_min'] ?? 60); } public function ingestIpRateLimitPerMin(): int { return (int)($this->a['ingest_ip_rate_limit_per_min'] ?? 300); } public function snapshotRetentionDays(): int { return (int)($this->a['snapshot_retention_days'] ?? 7); } }