A Facts is a statement about an identity. Verified facts are facts that have been attested to by trusted issuer(s).

A single fact can be verified by multiple issuers and so have multiple assertions. Verified facts are held by identities and can be shared with other identities (relying parties) who require them.

Facts and related attestations are stored on the user’s device, so the user has full control over who can access its information.

Each fact has the following properties:


A fact’s source represents where this fact comes from, for example a DOB can come from different sources such as a passport or a driving license. By default this field is set with a wildcard “*” and the user will select the source on their device. Same happens if you specify multiple sources.

At the moment there are three different sources user_specified, passport and driving_license.

As this list is always growing, you can check the possible values on your SDK ruby-sdk and go-sdk.


This is the name of the fact you want to request like display_name, email_address or unverified_phone_number.

The list of values by source is:

  • user_specified: display_name, email_address and unverified_phone_number
  • passport and _identity-card _: document_number, surname, given_names, date_of_birth, date_of_expiration, sex, nationality, _country_of_issuance.
  • driving_license : document_number, surname, given_names, date_of_birth, date_of_issuance, date_of_expiration, address, issuing_authority, place_of_birth, country_of_issuance.


A list of verified attestations signed by an issuer. This only has content on fact request responses, and it contains a list of attestations for the current fact.

Expected value

When you send an intermediary fact check you expect the value of a user’s fact to be compared with an expected value, this field is where you will provide that value.


On an intermediary fact check this field contains the operator used to compare the expected value against the expected value. Valid operators can be found here

Fact requests

Fact requests allow your app to request specific facts from identities on the Self-network.

Only verified facts can be requested

The approaches to request facts are similar to authentication, so let’s have a look at them.