package app.closer.domain.security

import kotlinx.coroutines.flow.StateFlow

enum class DeviceIntegrityResult {
    UNKNOWN,        // check not yet run
    PASSED,         // device meets basic integrity requirements
    COMPROMISED,    // device is rooted, unlocked, or otherwise modified
    UNAVAILABLE,    // Play Integrity API not available (old device, no Play Services, etc.)
}

interface DeviceIntegrityChecker {
    val state: StateFlow<DeviceIntegrityResult>
    suspend fun runCheck()
}
