By default a device has a unique system user. This is the owner of the device if it is not assigned to a user in the parental controls settings.
A device can be assigned to a user (owner).
Optionally, another user can log in via the dashboard and be the operating user.
The operating user is shown in the dashboard title bar next to the device name.
A user has a dashboard layout (for 1, 2, 3 columns).
A user has one of the following roles:
Children have a very minimal dashboard. They have a birthday.
What is the difference between Parent and Other?
All users can have a PIN.
Parents (and Others) can lock a device out of the internet.
Each user has an associated profile. (Some profiles are shared, but they are used only for default users.)
A user profile defines restrictions, e.g. max daily usage, blocked domains, etc.
Multiple filter lists can be configured as accessible or inaccessible.
For each filter list – built-in or custom – there is a filter meta-data object that references lists stored on disk.
The meta-data objects are associated with users in two ways:
UserProfileModule via the
(in)accessibleSitesPackages attributes.UserModule via
the customBlack/WhitelistId attributes.
classDiagram
UiCard <|-- ParentalControlCard
UserModule --> UserProfileModule: associatedProfileId
UserModule --> UiCard: dashboardColumnView
ParentalControlCard --> UserModule: referencingUserId
Device --> UserModule
UserProfileModule --> ParentalControlFilterMetaData: (in)accessibleSitesPackages
UserModule --> ParentalControlFilterMetaData: customBlack/WhitelistId
class UserModule {
+int id
+userRole
}
class Device {
+String id
+defaultSystemUserId
+parentalControlUserId
+parentalControlOperatingUserId
}
class ParentalControlFilterMetaData {
+int id
}
class UserProfileModule {
+int id
}