KioskOpsConfig

data class KioskOpsConfig @JvmOverloads constructor(val baseUrl: String, val locationId: String, val kioskEnabled: Boolean, val syncIntervalMinutes: Long = 15, val adminExitPin: String? = null, val securityPolicy: SecurityPolicy = SecurityPolicy.maximalistDefaults(), val retentionPolicy: RetentionPolicy = RetentionPolicy.maximalistDefaults(), val telemetryPolicy: TelemetryPolicy = TelemetryPolicy.maximalistDefaults(), val queueLimits: QueueLimits = QueueLimits.maximalistDefaults(), val idempotencyConfig: IdempotencyConfig = IdempotencyConfig.maximalistDefaults(), val syncPolicy: SyncPolicy = SyncPolicy.disabledDefaults(), val transportSecurityPolicy: TransportSecurityPolicy = TransportSecurityPolicy(), val remoteConfigPolicy: RemoteConfigPolicy = RemoteConfigPolicy.disabledDefaults(), val diagnosticsSchedulePolicy: DiagnosticsSchedulePolicy = DiagnosticsSchedulePolicy.disabledDefaults(), val observabilityPolicy: ObservabilityPolicy = ObservabilityPolicy.disabledDefaults(), val geofencePolicy: GeofencePolicy = GeofencePolicy.disabledDefaults(), val policyProfiles: Map<String, PolicyProfile> = emptyMap(), val validationPolicy: ValidationPolicy = ValidationPolicy.disabledDefaults(), val piiPolicy: PiiPolicy = PiiPolicy.disabledDefaults(), val fieldEncryptionPolicy: FieldEncryptionPolicy = FieldEncryptionPolicy.disabledDefaults(), val dataClassificationPolicy: DataClassificationPolicy = DataClassificationPolicy.disabledDefaults(), val anomalyPolicy: AnomalyPolicy = AnomalyPolicy.disabledDefaults(), val databaseEncryptionPolicy: DatabaseEncryptionPolicy = DatabaseEncryptionPolicy.disabledDefaults(), val requireDataRightsAuthorization: Boolean = false)

Main configuration for KioskOps SDK.

Security (ISO 27001 A.5): All security-relevant settings are explicitly configured with secure defaults. No silent data transfer occurs without explicit opt-in.

Constructors

Link copied to clipboard
constructor(baseUrl: String, locationId: String, kioskEnabled: Boolean, syncIntervalMinutes: Long = 15, adminExitPin: String? = null, securityPolicy: SecurityPolicy = SecurityPolicy.maximalistDefaults(), retentionPolicy: RetentionPolicy = RetentionPolicy.maximalistDefaults(), telemetryPolicy: TelemetryPolicy = TelemetryPolicy.maximalistDefaults(), queueLimits: QueueLimits = QueueLimits.maximalistDefaults(), idempotencyConfig: IdempotencyConfig = IdempotencyConfig.maximalistDefaults(), syncPolicy: SyncPolicy = SyncPolicy.disabledDefaults(), transportSecurityPolicy: TransportSecurityPolicy = TransportSecurityPolicy(), remoteConfigPolicy: RemoteConfigPolicy = RemoteConfigPolicy.disabledDefaults(), diagnosticsSchedulePolicy: DiagnosticsSchedulePolicy = DiagnosticsSchedulePolicy.disabledDefaults(), observabilityPolicy: ObservabilityPolicy = ObservabilityPolicy.disabledDefaults(), geofencePolicy: GeofencePolicy = GeofencePolicy.disabledDefaults(), policyProfiles: Map<String, PolicyProfile> = emptyMap(), validationPolicy: ValidationPolicy = ValidationPolicy.disabledDefaults(), piiPolicy: PiiPolicy = PiiPolicy.disabledDefaults(), fieldEncryptionPolicy: FieldEncryptionPolicy = FieldEncryptionPolicy.disabledDefaults(), dataClassificationPolicy: DataClassificationPolicy = DataClassificationPolicy.disabledDefaults(), anomalyPolicy: AnomalyPolicy = AnomalyPolicy.disabledDefaults(), databaseEncryptionPolicy: DatabaseEncryptionPolicy = DatabaseEncryptionPolicy.disabledDefaults(), requireDataRightsAuthorization: Boolean = false)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard

Anomaly detection policy. @since 0.5.0

Link copied to clipboard
Link copied to clipboard

Database-at-rest encryption via SQLCipher. Requires sqlcipher-android dependency. @since 0.8.0

Link copied to clipboard

Data classification policy. @since 0.5.0

Link copied to clipboard

Diagnostics scheduling policy for automated collection and remote triggers.

Link copied to clipboard

Field-level encryption policy. @since 0.5.0

Link copied to clipboard

Geofence-aware policy switching configuration.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Observability configuration for logging, tracing, and metrics.

Link copied to clipboard

PII detection and redaction policy. @since 0.5.0

Link copied to clipboard

Named policy profiles for geofence-based configuration switching.

Link copied to clipboard
Link copied to clipboard

Remote configuration policy for managed config and FCM updates.

Link copied to clipboard

Require authorization callback before data rights operations. Enabled by default in CUI/CJIS presets. @since 1.0.0

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Network sync is opt-in. Default is disabled to avoid silent off-device transfer.

Link copied to clipboard
Link copied to clipboard

Transport layer security: certificate pinning, mTLS, and CT validation.

Link copied to clipboard

Event validation policy. @since 0.5.0

Functions

Link copied to clipboard
open override fun toString(): String

Redact adminExitPin in toString. Data-class default would emit the PIN in any accidental log line, crash report, or diagnostics bundle. The PIN is still present in equals / hashCode for reactive-config diffing.