23 lines
724 B
Swift
23 lines
724 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 availability: PlatformAvailability = .phoneOnly
|
|
let syncPolicy: SyncPolicy = .never
|
|
|
|
init(iterations: Int = 10_000) {
|
|
self.security = .encrypted(.aes256(keyDerivation: .pbkdf2(iterations: iterations)))
|
|
}
|
|
}
|
|
}
|