Skip to main content

Trust Network

The trust network object, referred to as trustInfo, provides information regarding the trust level of the browser, network, and business. This data allows for a secure verification of user interactions by assessing the reliability of these elements, enhancing overall trust. It can be used within proof request and response screens and can also display visual indicators (e.g., icons with color coding) to reflect the trust level of each attribute.

Example Structure:

"trustInfo": {
"browser": "not-trust",
"businessIAL": 0,
"network": "ip-match"
}

Each key-value pair within trustInfo represents a specific trust aspect and can be displayed as follows:

  • browser: Indicates if the browser is trusted.
  • businessIAL: Shows the trust level of the business, with IAL (Identity Assurance Level) rating.
  • network: Displays if the network environment is trusted based on IP matching.

Keys in trustInfo Object

1. browser

Description: This key identifies if the user’s browser can be trusted. It uses browser fingerprinting to verify and recognize previously trusted browsers.

Values:

  • "trust": The browser is trusted based on recognized fingerprint data.
  • "not-trust": The browser is untrusted; it’s either new or its fingerprint doesn’t match trusted criteria.

Visual Indicator Recommendation:

  • Display an icon (e.g., shield) with green color for "trust" and red color for "not-trust".

2. businessIAL

Description: The businessIAL (Identity Assurance Level) represents the compliance level of the business entity associated with the transaction, measured by adherence to security standards.

Values:

  • 1: High trust level, indicating compliance with trust and security standards.
  • 0: Low or unknown trust level, signaling non-compliance or insufficient information about adherence to security standards.

Visual Indicator Recommendation:

  • Display a green shield icon for 1 and a red shield icon for 0 to visually indicate trustworthiness.

3. network

Description: This key checks the user’s network environment to determine if it matches trusted criteria, such as IP matching within a pre-established trust network.

Values:

  • "ip-match": The IP address or network matches trusted network configurations, indicating a secure environment.
  • "no-match": The network does not match trusted criteria, suggesting potential security risks.

Visual Indicator Recommendation:

  • Display a green network icon for "ip-match" and a red network icon for "no-match".

Summary Table of trustInfo Values

KeyValueDescriptionVisual Indicator
browser"trust"Browser is trusted based on fingerprinting.Green icon (trusted browser)
browser"not-trust"Browser is untrusted, not matching trusted fingerprints.Red icon (untrusted browser)
businessIAL1Business entity is compliant with trust/security standards.Green shield (trusted)
businessIAL0Business entity is non-compliant or unknown.Red shield (untrusted)
network"ip-match"Network environment matches trusted IP configurations.Green network icon (trusted)
network"no-match"Network environment does not meet trusted criteria.Red network icon (untrusted)

Displaying trustInfo in React Native

Here’s an example of how to display trustInfo data in React Native, using color-coded icons to represent each trust attribute.

import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { FontAwesome } from '@expo/vector-icons'; // Assume FontAwesome icons for visual indicators

const TrustInfoDisplay = ({ trustInfo }) => {
const getTrustIcon = (key, value) => {
if (key === 'browser') {
return value === 'trust' ? 'green' : 'red';
} else if (key === 'businessIAL') {
return value === 1 ? 'green' : 'red';
} else if (key === 'network') {
return value === 'ip-match' ? 'green' : 'red';
};

return (
<View style={styles.container}>
<View style={styles.trustItem}>
<Text>Browser:</Text>
<FontAwesome name="shield" color={getTrustIcon('browser', trustInfo.browser)} size={20} />
<Text>{trustInfo.browser}</Text>
</View>

<View style={styles.trustItem}>
<Text>Business IAL:</Text>
<FontAwesome name="shield" color={getTrustIcon('businessIAL', trustInfo.businessIAL)} size={20} />
<Text>{trustInfo.businessIAL}</Text>
</View>

<View style={styles.trustItem}>
<Text>Network:</Text>
<FontAwesome name="network-wired" color={getTrustIcon('network', trustInfo.network)} size={20} />
<Text>{trustInfo.network}</Text>
</View>
</View>
);
};

const styles = StyleSheet.create({
container: {
padding: 10,
},
trustItem: {
flexDirection: 'row',
alignItems: 'center',
marginBottom: 5,
},
});

export default TrustInfoDisplay;

Usage: Display this component in the proof request or response screen, passing the trustInfo object from the presentationRequestCallback. Each icon will adjust color based on the trustInfo values to visually indicate the trust level.

Reference: For more information on trustInfo from the presentationRequestCallback, see Proof Request / Response Quickstart documentation. This callback provides detailed data, including the trustInfo object, allowing applications to securely interpret and display trust indicators for user interactions.

Summary

The trustInfo object encapsulates data about browser, network, and business trustworthiness, aiding secure verification of user interactions. Displaying icons with color coding based on trustInfo values in the UI offers users an intuitive understanding of trust status. This document serves as a reference for using trustInfo data effectively in applications.

X

Graph View