DOCS / DEVICE ENROLLMENT

A public request.
A profile for this device.

The phone prepares a public request. The deployment owner uses it to issue a profile intended for that device.

Before creating a request#

Use a compatible Android engineering build and an owner-operated deployment. Device storage must be healthy. Do not silently replace an invalidated key or confuse a browser demonstration with real enrollment.

Which part runs where?#

WhereAction and effect
Android deviceCreate a device-owned public enrollment request. Private material stays in protected encrypted local storage.
Trusted transfer channelGive the exact public request to the intended deployment owner. A recipient request is single-use by default in the guide.
Owner’s VPS / administration systemIssue the recipient-sealed profile with kurdctl. The Android app never receives root administration authority.
Intended Android deviceImport the returned profile. Preview, compare deployment identity, then confirm storage.

Public does not mean “send anywhere”#

The Android resource text says the enrollment export is public-only and contains no private key. Share it only with the owner who will issue the intended profile.

Documentation uses a .kurd-enrollment input path while source UI strings label an Export .kurd-recipient action. These are retained as a documented naming inconsistency; do not invent a universal extension rule from the mismatch.

When the key is missing or invalidated#

Preserve the existing state. A sealed profile for another device cannot be made appropriate by renaming it. Ask the owner for the correct recipient-bound profile or follow an explicit recovery path.

Read recovery guidance

Source and scope

Reviewed . The linked source describes the implementation; released-build evidence is a separate check.

What do you need?

Search runs on this device.

Open the full search pageEsc