Acquire Mobile App

The IBM Verify Credentials Mobile App is available on iOS through Apple's TestFlight. To use TestFlight, you must first install the TestFight app available in Apple's App Store. If you don't have it installed and try to acquire the IBM Verify Credentials mobile app, you will be given the opportunity to install the TestFlight app at that time.

When you create an Agency Account, you will receive an email welcoming you. In this email you will find a link that can be used to obtain the IBM Verify Credentials mobile app. If you are reading this email on your mobile device, tap or click on the link to start the process. Otherwise manually enter the web address in a browser on your mobile device. Once loaded, follow the instructions on the web page.

Install Testflight and Mobile App

Once you have navigated to our link on TestFlight, you will be prompted to download TestFlight if you haven't already. After installing the TestFlight mobile app from the Apple App Store, you can re-visit your browser to follow the next step, installing the IBM Verify Credentials mobile app on your device.

Lifecycle of installed app

  • Update - Once you install the IBM Verify Credentials Mobile App using TestFlight, you will automatically get a notification if there is a new update available.

  • Expiration - An app that is available via TestFlight expires after 90 days. Once it expires, you will need to install an update or remove it from your device.

  • Delete - When IBM Verify Credentials is deleted from your device, only the data kept in your keychain remains.

    • All agent's label, URL, name, password
    • Device uuid
    • Profile nickname

All other data is deleted.

If you don't plan on reinstalling IBM Verify Credentials you can completely delete all data including the keychain data. Go to Settings > General > iPhone Storage > IBM Verify Credentials, and press the Delete App button.

Note: Keep in mind that this only deletes the data associated with the mobile app on your mobile device. Credentials, connections and other artifacts of the Self Sovereing Identity ecosystem will still remain in any cloud agents that you may still have.

Bind Mobile App with Agent

When the app is run for the first time, you will be shown the License, Privacy Policy and Getting Started pages. You also need to add your agent to the Set Agent page. If you are not already on the My Agents panel or if you've already setup your mobile app and need to add a new agent, select the Profile tab on the navigation bar at the bottom of the mobile app, then select Manage Agents

Clicking on the + icon to the right of the title will display an Add Agent page that has a form with inputs that specify your agent. You can manually enter this information or scan a QR Code displayed on your agent's dashboard web app.

mobile-add-agent

Manually

The following inputs need to be entered:

  • Agent Label - This is the name that identifies an agent in your list of agents on the My Agents page. The Agent Label is only used by you and can be any value.

  • Account URL - This is your agent's account URL.

  • Agent Name - This is your agent's user name.

  • Agent Password - This is your agent's password.

  • Active - Turn On to make this agent active.

With Agent QR Code

To fill in the inputs automatically, you can use the Scan QR Code button.

View your agent's web app in a browser on another machine or device. Navigate to the General page and click on Add device. Next, click on Scan QR Code to show your QR Code.

Upon scanning this QR Code, the form should be filled out. Make sure you set Active to On before pressing Save.

Activate an agent

Once this form is filled out, you need to make sure Active is turned On. Typical users will only have one agent, but if you do have more than one, only one can be active at a time. This Active switch enables you to select which agent is currently associated with the mobile app.

To save the agent form, press the Save button in the title bar.

If there are any problems with adding your agent, they will be displayed at the top of the form.

If you are in the process of setting up your app, once your device is associated to your agent, the Mobile App will show you the Interact page. You can now begin using the app.

Add profile information

Your mobile profile consists of your name and a photo. Both are shared with others when you connect with them. To add or edit your profile, click on the Edit Profile button.

mobile-blank-profile

Enter your Name and either take a picture or select an existing photo.

Use the Reset photo link to clear your profile photo.

mobile-edit-profile

There are navigation icons at the bottom of most pages. This enables you to quickly jump to one of the four main features of the app. These icons are described on the Getting Started page when the app was first run.

mobile-getting-started

Interactions

The Interact page is the starting point for interactions with other users. It is divided into two sections:

  1. Interact with others
  2. Others interact with me

mobile-interact-page

Interact with others

There are several types of interactions that another user may have initiated. They may have given you their agent url or QR Code so you can connect to them, or they may be offering a proof request that you can respond to. Usually the interactions are mobile-to-mobile, but can be between a mobile device and a website.

Explore Nearby

This interaction is mobile-to-mobile, and is limited to WiFi ranges (about 100 feet maximum). The devices connect to each other via WiFi direct, so they don't need to be on the same WiFi network. They do, however, need to be connected to their own agent.

Explore Nearby enables a user (holder) to find nearby verifiers and provide attributes from one or more credentials. For example, a police officer could verify your name from your digital driver's license credential.

Find nearby verifiers

When you select Explore Nearby, the device begins searching for any verifiers that are within range.

mobile-explore-nearby-looking

When a verifier is found, it is displayed with enough information so you know whether or not to accept it. If the verifier/verification isn't the one you want, click Next to show the next verifier within range. When you reach the last verifier, the first one will be shown again. To exit, press < or the stop icon at the bottom of the page.

mobile-explore-nearby-found

The verification page shows who is offering the verification request along with their photo, and the name of the request. To begin the verification process, press Connect. This sends a message to the verifier that you want to respond to the verification request.

The verifier returns a proof request that is displayed. The mobile app then searches through its agent's wallet looking for information that can be used to respond to the request. You have an opportunity to review the information before it is actually sent to the verifier. If you don't want to share the information, you can Cancel the request.

mobile-explore-nearby-proof-request

Each attribute that the mobile app has located that could be shared for the proof response is shown with it's name, value and the credential icon and schema it came from. If there is more than one credential that would fulfill the request, they are all shown. Select one item for each attribute to include in the proof response. To send, press OK.

mobile-explore-nearby-proof-done

Once the proof has been sent, it is shown under the Sent section in the Proofs page.

Scan QR Code

This interaction enables you to scan another user's QR Code shown on their My QR Code page. When their QR Code is scanned, it sends them a connection request. Once they accept your request, both of you will have a connection with each other.

Agent URL

This interaction enables you to connect to another user by entering their agent URL.

Others interact with me

There are several types of interactions that you can initiate to interact with others.

My QR Code

This interaction shows your QR Code that others can scan to connect to you.

mobile-my-qr-code

You can also copy your agent URL, and send to another user via text message or email so they can connect to you using the Agent URL page.

Verify

In the Explore Nearby section, the holder's interaction was described. This Verify interaction is the verifier's end of that exchange. To be able to interact, both devices must be within WiFi range as described in Explore Nearby.

When Verify is selected, a list of verify templates is shown. In the current version of the app, these three are automatically created for every user. In the future, a tool will be available to create templates.

mobile-verify-templates

To start broadcasting a verification request, select one of the templates.

mobile-verify-broadcast

The name of the verify template is shown. The photo of the verifier is also shown in the page's title bar, so you know the photo that the users who are exploring nearby will see. Note that this verification request will be viewable by all devices within range.

To stop broadcasting the verification request, press < or the stop icon at the bottom of the page.

When another user responds to your verification request with a valid proof response, their response is shown under the Holders section.

mobile-verify-broadcast-result

Selecting the item shows the details requested in the verify template. This list is cleared every time the app is restarted.

mobile-verify-broadcast-details

Note that only verification responses that were successful are shown. If a holder attempts to send a response that fails verification, it is not shown.

Manage Credentials

Select the Credentials icon to view the Credentials page.

mobile-credentials

This page shows all of the credentials issued to you listed with most recent at the top. Each entry shows the credential schema, issuer name and icon, and date. The credential list can be filtered by typing into the search input.

The list of credentials is cached on the device. To reload them from your agent and refresh the page, touch and pull down on the search input.

View Credential Details

To view the details of a particular credential, select it.

mobile-credential-details

If the credential has a "front_card" and/or "back_card" attribute, they are shown at the top of the page. The image can be selected to view full-screen.

Below the card image is the same information displayed in the previous screen.

Under the Attributes section are each attribute's name and value. If the attribute is an image, you can select it to view the image.

Delete Credentials

To delete a credential, swipe left to show the trash icon, then click on the icon.

mobile-credentials-delete

Accept Credentials

When an issuer sends you a credential, a popup will be shown. The issuer's icon and name is displayed along with the name of the credential schema.

mobile-credentials-accept

To accept the credential, press OK. To handle the credential request later, press Cancel. This does not delete the credential, but allows you to accept or delete it later.

Manage Proofs

Click on the Proofs icon to view the Proofs page.

mobile-credentials

This page shows all of the proof responses that you've sent to others and the proofs sent to you and that you verified. The lists are sorted with most recent at the top of each section. The item shows the proof name and icon, the verifier (Sent section) or prover (Verified section), and date. The proof list can be filtered by typing into the search input.

The list of proofs is cached on the device. To reload them from your agent and refresh the page, touch and pull down on the search input.

View Proof Details

To view the details of a particular proof, select it.

mobile-proof-details

At the top of the Proof Details page is the same information displayed in the previous screen.

Under the Attributes section are each attribute's name and value, and an icon that shows which credential it came from. If the attribute is an image, you can select it to view the image.

Delete Proofs

To delete a proof, swipe left to show the trash icon, then click on the icon.

mobile-proofs-delete

Accept Proof Requests

When an verifier sends you a proof request, a popup is shown. The verifier's icon and name is displayed along with the name of the proof template.

mobile-proof-request-popup

To process the proof request, press OK. Agreeing to process it does not send a response back to the verifier. Rather it displays a page that allows you to see what data will be sent. You can decide at that time whether to send it or not.

To handle the proof request later, press Cancel. This does not delete the proof request, but allows you to process or delete it later.

mobile-proof-request

If more than one credential can be used to satisfy a particular requested attribute, they will be shown under the attribute name. The attribute shows the credential's icon, issuer name, and schema name. By default the first credential is selected. To change it, touch the checkbox to the right of that credential attribute.

Manage Connections

Click on the Profile icon and then Manage Connections to view the My Connections page.

mobile-connections

This page shows all of the connections with other users listed with most recent at the top. Each item shows the connection's user name and icon, and date. The connection list can be filtered by typing into the search input.

The list of connections is cached on the device. To reload them from your agent and refresh the page, touch and pull down on the search input.

View Connection Details

To view the details of a particular connection, select it.

mobile-connection-details

At the top of the Connection Details page is the same information displayed in the previous screen.

Under the Attributes section is information about the connection.

Delete Connections

To delete a connection, swipe left to show the trash icon, then click on the icon.

mobile-connections-delete

When a connection is deleted, it does not delete any credentials or proofs from that user.

Accept Connections

When a user sends you a connection request, a popup is shown with the user's icon and name.

mobile-connections-popup

To accept the connection, press OK. To handle the connection request later, press Cancel. This does not delete the connection, but allows you to accept or delete it later.

Manage Profile

Your profile name and image can be updated at any time by selecting the Profile icon.

mobile-profile-manage

Your name and image are sent to other users when making a new connection or broadcasting a verify template.

Selecting Edit Profile shows the current name and image, and enables you to change them.

mobile-profile-manage-edit

Your profile image can be selected from an existing photo on your device, or you can take a new one. The Reset photo option clears your photo and sets it to the default image.

Manage Agents

To manage your agents, select the Profile icon then Manage Agents. This will show the My Agents page.

mobile-agents

This page shows all of the agents you have added to your device. Most users will have only one agent, but some users who perform multiple roles may have several. You will have at least one agent to get to this point in the app.

A current limitation of the app is that only one agent can be active at a time. The active agent is indicated by the check in front of it. All credentials, proofs and connections in the app are associated with this active agent. If you make a different agent active, then your data from that agent will replace the previous agent's data.

Your agent list is stored in the device's encrypted storage. When you upgrade the app this agent data is preserved. However, if you delete the app and install the app again, your agent list is deleted.

View Agent Details

To view the details of a particular agent, select it.

mobile-agent-details

This page should look familiar, since it's the same one used to add your agent when you installed the app. You can change any value, but a check is done to ensure the agent URL and user are valid.

To change which agent is active, set the Active switch to On. This will change the current active agent to inactive.

Delete Agent

To delete an agent, swipe left to show the trash icon, then click on the icon.

mobile-agent-delete

When an agent is deleted from this list, this device is no longer associated with that agent, but the agent running on the agency is not deleted.

Manage Pending Requests

When an incoming request is displayed in a popup, you can either select OK to process it, or select Cancel to handle it later. These cancelled requests can be viewed in the Pending Requests page.

mobile-pending

The requests are separated into three sections, one for each request type. Selecting one of the requests displays it's details, along with Delete and Accept buttons. A pending connection request is show below.

Pending Connection Request

mobile-pending-connection

To delete the request select Delete. This removes the request from the pending list and deletes it on your agent.

To process the request select Accept. This will show the popup asking if you want to accept the connection. If you select OK, then the request will be handled as previously described. If Cancel is selected, then the request remains in the pending list.

Pending Credential Request

A pending credential request displays the entire credential being offered, along with the Delete and Accept buttons.

mobile-pending-credential

Pending Proof Request

A pending proof request displays the attributes that the proof request is asking for.

mobile-pending-proof

Manage Settings

The Settings page has a section for Application Settings and another section for Information.

mobile-settings

If enabled, the Agent Sync setting synchronizes the data cached on the device with the agent when the app is started. Otherwise, the contents of the credentials, proofs and connections pages are populated with data from the cache. The cached data can be refreshed anytime by touching and pulling down on the search input on the respective page.

The Information section displays general and legal information. There is also a link to contact IBM, which opens your email client to report an issue or obtain support for the app.