Skip to content
This repository has been archived by the owner on May 6, 2020. It is now read-only.

Contact Data

Justus Ranvier edited this page May 11, 2016 · 3 revisions

In order to fully establish the identity of their nyms, OT users may attach arbitrary amounts of public information to their credentials in a cryptographically provable manner. Each piece of information is packaged into an atomic unit known as a claim, and is stored inside a claim credential.

A user may choose to confirm or refute verify the claims published by other nyms. To do this, he signs the hash of the claim whose validity is being asserted and publishes the signature in his verification credential.

These verifications can be used to form a web of trust which allows OT clients to estimate the probability of any claim being true and help users determine if the nym with which they are interacting is the identity which they believe it is.

Claim message structure

The claim message structure is designed to be both simple and flexible. It can accomidate virtually any type of identity information while remaining easy to extend.

Adding new sections, type, or attributes to the format is accomplished by adding new entries to enum types defined in this repository.

Contact credential

A credential is a contact credential if it contains an embedded contactData message.

Contact data

ContactData objects contain a list of sections, which are groups of related claims.

Sections

Each section has has a name which describes the general purpose of all claims within it, and a list of contact items.

Section names are enumerated for ease of automatic handling.

Contact items

Contact items represent the individual claims themselves. Contact items have an enumerated type, an arbitrary string value, and zero or more attributes.

There is no defined limit to the number of claims which may appear in a section, or of a given type.

The contact data message defines a start and end field for expressing a temporal range to the claim, but these fields are currently not implemented.

Claim identifiers are formed by hashing the nym id of the claimant, the section, and all fields of the contact item except for the attributes.

Attributes

Attributes are auxiliary information which represent aspects of the claim which may change without invaliding it. Currently two attributes are allowed:

Primary
This attribute provides a hinting in situations where more than one claim of a given type exists. By setting of of the claims as the primary, the claimant assists other users in selecting the most relevant claim.
Active
This attribute should be set on all claims, except for claims which should no longer be considered current. This allows for users to publish claims for historical reasons while still indicating that they should not be used for future purposes.

Section descriptions

Accomplishments

The value of a claim in this section is free-form text which should be used to express an achievement of some type.

Allowed types:

Personal
Professional

Fingerprints

The value of a claim in this section are fingerprints of public keys associated with the nym, but which are not included in the nym's credentials.

Allowed types:

OTR
PGP
SSL

Messaging

The value of a claim in this section should be an identifier used by the specified messaging method.

Allowed types:

Bitmessage
Email
OT
Phone

Name

The value of a claim in this section should be a human-friendly name.

Allowed types:

Personal
Professional
Nickname

Profile

The value of a claim in this section should be user or profile name on the designated network or web site.

Facebook
Google
Twitter

Relationships

The value of a claim in this section should be a valid nym id which is connected to the claimant via the specified relationship.

Parent
Child
Sibling
Employer
Employee
Alias
Met
This relationship type is used to indicate an face-to-face secure key exchange.

URL

The value of a claim in this section should be a valid URI associated with the claimant.

Personal
Business