CARO usage

For how long are authentication tokens valid?

You can use the same Client ID and Client Secret to communicate with CARO when acting on behalf of each of your VRS customers. The authentication tokens have a validity of 24 h. Please reuse each token until its expiry. Your maximum daily usage allowance is 150 tokens in the absence of any further arrangements with us. This is also highlighted in the VRS guide.

If the use of one client Secret:ID pair or one authentication token for all your VRS customers conflicts with your own architecture, do let us know, since we have no insights into your systems. In that case, we may need to reconsider certain design decisions at our end.

Why can I not see the client authentication details?

The Client ID and Client Secret can be found under Settings.

Following a recent update of our user management only users set up as Service Provider Developers are permitted to see this information. You can change your role in User Management in the Service Provider section.

What you should see... CARO VRS authentication

What kind of results does the CARO search function return?

Our search currently returns fuzzy results. So, if you look for a specific corrUUID or DID, make sure to check the returned result, as the search may have found something that is highly similar if there is no exact match.

The search function is WIP. We will refine its capabilities in the coming months to make it more obvious when exact and fuzzy matches are displayed.

CARO Search function

VRS roundtrip set-up and testing

How do I connect a VRS customer in my system to CARO?

While we cannot provide any advice specifically for your system, a key task you need to perform is to link the customer identifiers between our two systems. Your customer's unique identifier related to CARO is their Enterprise Identifier. You can find it in the Customers section of your CARO Service Provider Account (see VRS guide). You will need to map this identifier to the GLN your customer wants to use for VRS-facilitated interactions. If applicable, you may also want to connect the CARO Enterprise Identifier to another customer ID used in your system.

How do I need to handle the corrUUID in a VRS response?

The purpose of the corrUUID is to connect all events in a full VRS roundtrip (request and response) for a consistent audit trail. Hence, as a responder you must re-use the corrUUID that you have received from the requester instead of creating a new random corrUUID. The requester’s corrUUID can be extracted from the nonce field in the decoded received Verifiable Presentation.

Please peruse our VRS guide as a refresher.

The relevant OCI references in the Digital Wallet Conformance Criteria are:

How can I retrieve details from a received Verifiable Presentation?

The Verifiable Presentation is in a JWT format and base64-encoded. Decode it from base64 and you will have a familiar JWT structure. The “vp” root-level field contains the presentation. You can trial decoding a VP or JWT using the decoder at https://jwt.io/.

Where can I find the test data for VRS interoperability testing?

Provision of VRS test data is beyond the scope of Spherity's involvement in the HDA-facilitated interoperability testing. It us our understanding that the test data from all participating VRS are stored on HDA's SharePoint following this path: Verification Router Service > Documents > Testing Scale Up Plan > Service Provider Test Plans and Test Data. Then choose the desired VRS.

Trading Partner FAQ

CARO usage

Do I have to upload all my trading partners to set up CARO?

No, you do not need to pre-populate CARO with your business partners. The list of trading partners within CARO will grow organically as interactions with your CARO Enterprise Account happen. The use of verifiable credentials by CARO caters for the underlying due diligence and capturing of salient counterparty details in your audit log by design.

Are a Trading Partner's licenses visible in the electronic credentials?

No. Any organizational or licensing documents submitted during the credential application process are used for due diligence by the Credential Issuer but will not be disclosed in the electronic credentials.

What details are captured by CARO's audit log?

CARO offers two audit logs. One captures transaction details, such as transaction ID, time, type, status, interacting parties. The other one captures user activity, so you always know who did what when. These data are securely stored in a non-public AWS database.

What data are stored on the blockchain?

CARO stores an enterprise's unique Decentralized Identifier (DID) on the Ethereum blockchain. The DID leads to the DID document, which may contain details on how to contact you through your CARO account (a so-called endpoint). This enables certain types of information exchange with your trading partners for a variety of business interactions.

Why can I not access a page in the CARO app?

Certain web addresses might need to be whitelisted (allowed) by your IT system for CARO to be fully functional. Please refer to our whitelisting guide for more details.

CARO and my service provider

Is CARO interoperable with other digital wallets and service providers?

In short, yes as far as it is within our control.

CARO is fully aligned with OCI’s Conformance Criteria for Digital Wallets. We are interoperable with any other digital wallet that is also aligned with these criteria. This means us and them can process each other’s credentials. We cannot guarantee interoperability with digital wallets that are not OCI-aligned.

Further, there are a number of service providers that offer message routing (VRS) and are fully integrated with CARO (see for example our Partners). This means they can use CARO to facilitate product enquiries on your behalf. These VRS have their own interoperability tests to make sure they can exchange information with each other. Wallet interoperability

How do I connect my VRS to my account?

The CARO team will do this for you once you give us the go-ahead or when your Service Provider requests a CARO account on your behalf (via API).

How do I remove my VRS provider’s account access?

The CARO team will do this for you if we are instructed to do so. Once deactivated, the VRS will no longer be able to generate or verify DSCSA ATP Credential presentations on your behalf.

What can the VRS do with my user account?

The VRS can fetch the credential information from your CARO Enterprise Account for inclusion into routing messages, e.g. attach the ATP credential to product identifier verification messages or suspicious product enquiries between pharmacy and manufacturer. This will not remove any credentials from your CARO Enterprise Account. They will remain available for re-use.

How are individual interactions between CARO and my service provider's app traceable?

CARO and your service provider both keep transaction records to provide an audit trail. Any interaction that your service provider has with CARO is mapped on either side by the same unique identifier, a so-called correlation UUID. Thus, the correlation UUID can be used to search each side's database for individual transactions and VRS roundtrips.

Will my app process PI verification messages from trading partners without ATP credentials?

CARO will only ever see transactions that involve credentials. However, the transaction record within your VRS provider's app should list all interactions with other trading partners. How these are processed depends on the set-up of your VRS app. Your service provider might offer you the choice of making the use of ATP credentials by your counterparties optional or mandatory. Only if set to mandatory, should the VRS app block any further processing of counterparty messages lacking the ATP credential. Please ask your VRS provider about possible configurations.