SecureStorageSample/SecureStorgageSample/StorageKeys/EncryptedFileSystem/SessionLogsKey.swift

24 lines
808 B
Swift

import Foundation
import LocalData
extension StorageKeys {
/// Stores session logs with full encryption.
/// Configurable PBKDF2 iterations.
struct SessionLogsKey: StorageKey {
typealias Value = [String]
let name = "session_logs.json"
let domain: StorageDomain = .encryptedFileSystem(directory: .caches)
let security: SecurityPolicy
let serializer: Serializer<[String]> = .json
let owner = "SampleApp"
let description = "Stores session logs encrypted with PBKDF2-derived keys."
let availability: PlatformAvailability = .phoneOnly
let syncPolicy: SyncPolicy = .never
init(iterations: Int = 10_000) {
self.security = .encrypted(.aes256(keyDerivation: .pbkdf2(iterations: iterations)))
}
}
}