Skip to content

Identifiers

This chapter covers the principal types and identifier system in MSST-Net.

Principal Types

In MSST-Net, a principal is the basic unit of identity in the network.

MSST-Net currently supports the following principal types:

  • User
  • Device
  • Room (space)

Each principal has its own identifier, used for identification, management, and access control.


User

A user is a basic principal that identifies all devices associated with the same user.

For unauthenticated users, the system automatically creates a local user principal associated only with the current device, so this user typically has only one device.

For authenticated users, all devices logged into the same account are associated with the same user principal.

User principals are primarily used to manage the identity relationship of multiple devices.


Device

A device is a basic principal that identifies a unique client instance.

Each client instance connected to MSST-Net corresponds to an independent device principal.

In the current version, MSST-Net access control uses the device as the minimum control unit.


Room

A room is a temporary principal that identifies a Room Mode session.

The room ID (space-{8 hex digits}) is generated at creation and can be used in access control rules to match current room members.

See: Room Mode


Identifier System

Each principal has the following three types of identifiers:

  • ID (unique identifier)
  • Mnemonic (human-readable identifier)
  • Display name (presentation identifier)

Different identifier types are suited to different use cases.


ID

An ID is the unique identifier for a principal.

Each principal's ID is fixed at creation and cannot be changed.

All other identifiers are built on top of the ID.

Format

User ID:

text
user-{8 hex digits}

Device ID:

text
device-{8 hex digits}

Room ID:

text
space-{8 hex digits}

Examples

User ID:

text
user-1a2b3c4d

Device ID:

text
device-a7f29b3e

Room ID:

text
space-7e3a9f12

Properties

  • Globally unique
  • Cannot be changed
  • Can be used in rule references
  • Recommended for precise identification

Mnemonic

A mnemonic is the human-readable identifier for a principal.

Mnemonics are used to simplify references, generate readable names, and build rules.

Mnemonics can be changed by the user, but uniqueness depends on the principal type and scope.

Mnemonic Types

MSST-Net currently supports the following mnemonic types:

  • User mnemonic
  • Device mnemonic
  • Combined mnemonic

User Mnemonic

A user mnemonic identifies a user principal.

User mnemonics are globally unique.

Example

text
abjust

Properties

  • Globally unique
  • Can be changed
  • Can be used in rule references
  • Used to identify users

Device Mnemonic

A device mnemonic identifies a device principal.

Device mnemonics are only guaranteed to be unique within the same user's scope.

This means:

  • Different users can have the same device mnemonic
  • Duplicate device mnemonics within the same user will trigger conflict resolution

Example

text
archlinux

Combined Mnemonic

Since device mnemonics are not globally unique, MSST-Net provides a combined mnemonic for globally unique device identification.

The combined mnemonic format:

text
{device}.{user}

Where:

  • {device} is the device mnemonic
  • {user} is the user mnemonic

Combined mnemonics are globally unique.

Example

text
archlinux.abjust

Properties

  • Globally unique
  • Can be used in rule references
  • Used to uniquely identify devices across users
  • Formed by combining user and device mnemonics

Conflict Resolution

When a mnemonic conflict occurs, the system automatically appends an incrementing number:

text
example
example-1
example-2

Conflict resolution applies to mnemonics within the same scope.

For example:

  • User mnemonics resolve conflicts globally
  • Device mnemonics resolve conflicts within the same user's scope

Format Rules

Mnemonics only allow the following characters:

  • Lowercase letters (a-z)
  • Digits (0-9)
  • Hyphens (-)

The . in combined mnemonics is used only as a separator.

Mnemonics do not include any type prefix.

Uses

Mnemonics are primarily used for:

  • Generating human-readable MSST-Net ezPlay hostnames
  • Simplified references in rules
  • Quickly locating principals

Combined mnemonics are primarily used for:

  • Uniquely identifying devices
  • Cross-user device references
TypeGlobally UniqueChangeableUsable in RulesPrimary Use
User mnemonicYesYesYesIdentify users
Device mnemonicNo (unique per user)YesYesIdentify devices
Combined mnemonicYesIndirectlyYesUniquely identify devices

Display Name

A display name is the name presented externally for a principal.

Display names are used for UI display and user recognition.

Display names may be duplicated and are not guaranteed to be unique.

Properties

  • Not guaranteed to be unique
  • Can be changed
  • Cannot be used in rule references
  • Used for UI display

Example

Device display name:

text
Abjust's Computer

Identifier Comparison

IdentifierUniquenessChangeableUsable in RulesPrimary Use
IDYesNoYesPrecise identification
MnemonicNo (conflicts auto-resolved)YesYesSimplified reference
Display nameNoYesNoExternal display

Designed by MSST-Net Dev Team, built with Claude Code