ARPA2 Common Libraries  2.2.15
ARPA2 Identity and Selector

We explain how to work with Identity under the InternetWide Architecture. Given the ARPA2 Common libraries, it is easy enough to integrate with the ambituous goals or freeing our online presence as users!

This document is about libarpa2identity.so, the library that implements Identity, Selector and Iterator concepts.

Below you will find:

Examples of Identity and Selectors plus Iteration

In this image, the top nodes give four Identity examples, without aliases. We can only guess they are not groups because the user names sound human. Below that are Selectors, with arrows pointing from specific to generic. Had there been a node for example.com then it would have shown Iteration. Note that the top nodes are not just Identities; they are also Selectors and the first value produced during Iteration.

Quick description of Concepts

Identities are generally structured like email addresses, like john@example.com with a user name and a domain name. The four top nodes in the image are Identities.

Aliases are added to the local part of an identity, using a plus to separate the parts. For example, john might add an alias cooks to classify communication about food and cooking. Others would see this as john+cooks@example.com but services can use the added structure to better sort communications. The image does not show aliases, but john+cooks@example.com would have been drawn with an arrow pointing at john@example.com.

Groups represent multiple users. Think of mailing lists or shared document spaces as possible areas. To outsiders, a group looks just like any other address, and it is only the hosting domain that is aware that something like cooks@example.com actually is treated with group logic. We need our human knowledge of the World to guess that the addresses shown in the image are probably not groups.

Members are to groups what aliases are to users. When john is a member of the group, he might be known there as cooks+johann@example.com and others can address just him via this member address; it is like an extra alias. No examples shown in the image.

Selectors are patterns that can match multiple identities. They might drop parts from the username or domain name, and look like `