For the complete documentation index, see llms.txt. This page is also available as Markdown.

Namespaces

Learn about namespaces in the platform and what aspects of the platform concern them most

What are namespaces?

Namespaces help keep applications and different message types separate. They are used in many places like AtRecords, Events and Enrollments. Find out where they're used in Namespace footprint.

Namespace examples

There are two types of namespaces: Application namespaces and Hierarchical namespaces.

Application namespaces

Useful for keeping all of your messages under one large namespace. These namespaces are Atsigns that you should own (like @wavi) to validate the ownership of your namespace.

Examples are:

  • wavi

  • noports

  • sshrvd

  • sshnp

  • my_app

Hierarchical namespaces

Hierarchical namespaces are generally used for sorting AtRecords and events, and are more specific than application namespaces.

Examples are:

  • contacts.my_app

  • group_2.groups.policy and group_1.groups.policy

They ascend in specificity from left to right. In these examples, you may hold all your contact AtRecords under the contacts.my_app namespace. Similarly, you may have all the group policy rules related to the group name "group_2" under the group_2.groups.policy.

Reserved namespaces

Namespaces starting with __ belong to the SDK and atServer operations. Never write to them directly. Find out where they're used in Namespace footprint.

Namespace
Purpose

__manage

Enrollment management. rw here means "can approve enrollments"

__pkams

PKAM key material

__global

Cross-namespace scope

__rpcs

AtRpc request/response traffic

__shared_keys

Symmetric keys shared with other Atsigns

__public_keys

Additional encryption public keys

__self_keys

Additional self encryption keys

__rr

AtCollection read receipts

*

In Enrollments, this means "all namespaces"

Namespace footprint

Namespaces have impacts in many places such as:

Last updated