Skip to content

Access keys, private keys, and device IDs

SKDB uses the concepts of access keys, private keys, and device IDs to understand which users are currently connected to a server, and who is allowed to do what.

Definitions

Access and private keys

Access keys are IDs generated by SKDB to uniquely identify users: applications will generally choose to map these to a more human friendly username (e.g. an email address). An access key has a corresponding private key (roughly equivalent to "password").

Root

There is a special user whose access key is named root. Just as with the Unix user of the same name, root is the SKDB super user and can perform actions that other users might not have permission to do. You should ensure that you do not expose root's private key to untrusted sources.

Device IDs

A given access key (i.e. a user) can be used simultaneously on multiple devices (e.g. a phone, a tablet, and a laptop). Behind the scenes, SKDB uses device IDs so that each of those devices can synchronize data independently as they come online and go offline. This is handled transparently by SKDB and as a user you do not need to concern yourself with device IDs.