Skip to main content

Mobile SDKs and data wallet

Apart from providing all services as RESTful APIs, the platform also provides out-of-the-box mobile SDKs (iOS and Android). This consists of personal data dashboard features and data wallets as described below. It comes with multiple language support as well.

Architectural overview

The overall architecture of iGrant.io Data Wallet with software components is illustrated below.

SSI interoperability with Aries Interop Profile

The SSI Interoperability of iGrant.io Data Wallet is illustrated below.

Data Wallet Communication and Storage Stack

The overall architecture of iGrant.io Data Wallet communication and storage stack is illustrated below.

  • Compliant to Aries Interop Profile (AIP) 1.0
  • Interaction between agents is using DIF DIDComm protocols which provides an end-to-end encrypted channel for - secure communication.
  • Agents are connected to trust anchors for e.g. Indy to resolve and verify credential schemas and decentralised identifiers
  • Every data exchange transaction is mutually signed cryptographically between the parties ensuring full auditability.

Personal data dashboard

User preference center

This provides individuals total transparency on what data is being used by the organisation down to the attribute level. Here, individuals can mark their preferences and choices concerning the sharing and controlling of their data down to the level of attributes and how they are used. The mobile app allows users to exercise their data subject rights in accordance with the GDPR.

Data subject rights

The user app provides an individual user to make specific personal data requests towards organisations and providing a way for follow up, for example based on GDPR Data Subject Requests as per GDPR Chaper 3 Articles.

The specific web-based requests that needs workflow integrations are as given:

Data agreement logs

Here, all consents and data exchange transaction logs can be accessed by the user at any point of time.

Data wallet

iGrant.io provides a digital wallet (as a mobile agent) implemented using self-sovereign identity technology. It allows to stores credentials, keys, and other secrets necessary for self-sovereign identity.

Data wallets enable entities to own their data. It facilitates portability and reusability of the data. Data wallets are digital containers for data that's required to control self-sovereign identity (SSI) and consents. Data wallets are based on Indy’s wallet implementation. The picture below shows the architecture for Indy based data wallet implementation.

Data wallets will reside in a location that is owned or controlled by the entity. For example, on an individual's mobile device. iGrant.io offers the capability of cloud backup in external servers or in an organisation’s server. The platform provides entities with the necessary interfaces to interact with their data wallet: for example, a mobile application or a web application. Contents of the data wallet are encrypted using a master secret and stored to a pluggable storage for e.g. an SQLite database.

SSI user agents: A user agent provides individuals or organisations with a software component, that can act on their behalf and interact with others. An individual is provided with a mobile agent and an organisation with a cloud agent. Agent-to-agent communication is performed using interoperable DIDComm protocols: for example, issuing data based on schema, exchanging data with consent metadata etc.

note

iGrant.io data wallets are not limited to smartphones. The architecture allows the agents to be integrated on to any hardware, e.g. wearables.

The key functions enabled via the data wallet are:

  • Add certificates (credentials)
  • Exchange data (credentials)

Add certificates

Provides ability for users to add data to the data wallet as per Self-Sovereign Identity mechanisms.

Data exchange

Provides ability for users to add data to the data wallet as per Self-Sovereign Identity mechanisms using a QR code or any HW device.