DeviceGroupProvider

Manages device group assignments for fleet segmentation.

Groups are opaque string identifiers assigned via:

  1. Managed configuration (kioskops_device_groups)

  2. Programmatic API (for dynamic assignment)

Privacy (GDPR): Group IDs should not contain PII. Use opaque identifiers like "region-eu-west", "pilot-batch-3", "store-type-flagship".

Security (ISO 27001 A.8.1): Groups support asset classification and access control.

Inheritors

Functions

Link copied to clipboard
abstract suspend fun addToGroup(groupId: String)

Add device to a group (persisted locally).

Link copied to clipboard
abstract fun getDeviceGroups(): List<String>

Get current device group assignments. Merges managed config groups with local assignments.

Link copied to clipboard
open fun isInGroup(groupId: String): Boolean

Check if device is in a specific group.

Link copied to clipboard
abstract suspend fun removeFromGroup(groupId: String)

Remove device from a group.

Link copied to clipboard
abstract suspend fun setGroups(groupIds: List<String>)

Replace all local group assignments.