Develop a Digital Key app using Vouch.io

Simplify the developer experience and build your own secure digital keys with an accessible SDK.

Develop a Digital Key app using Vouch.io

When I first joined the company, the Vouch Digital Key Platform and SDK were abstract ideas I had yet to wrap my mind around. In the process of building our mobile apps from the ground up, these ideas have crystalized into user-driven interactions that ultimately reveal the sophisticated simplicity of the product.

While the system behind it is innovative and advanced, the Vouch SDK is a concise, thoughtfully curated collection of functions that makes it easy for developers to integrate with their apps.

With four functions, you can set up a vehicle ready to connect and share keys.

Here I outline these functions and all others used in the Vouch digital key app for cars - only one of many possible applications. These functions work together to establish associations between the various entities which make up the digital key.

Onboard user

The enrollment provides the Digital Key platform with the user ID and cryptographic data. The platform will use this data to verify signed requests from this combination of user ID and device.

createSignKeyPairs
enrollUserDevice(idToken)

Optional if part of an organization (e.g. dealership):

endorseMembershipWithAccessToken(idToken, accessToken)

Onboard vehicle

register(deviceId, org, vin)
connect(assetAccessId)

That's it; you can now lock/unlock the car with command

command(connectionName, action, callback)

Vouch.io Digital Key SDK - Onboard Vehicle Functions

Share Key or Transfer Ownership

Once registered, you can share keys or transfer ownership if you are the current owner.

Both workflows consist of the same three functions.

endorseByPhoneNr(phone, vin, type)
completeTask(taskId, success?)
revokePersona(personaId)

Vouch.io Digital Key SDK - Share Key and Transfer Ownership Functions

Get data

Vouch.io Digital Key SDK - Get Data Function

To fill out these screens, we need to request data from the server. There are two ways to do this.

OPTION A: Manually sync and then retrieve the locally stored data

sync(reset?)
getAccessData()
getAssetPersonaTasks()
getIssuedPersonas()

OPTION B: Subscribe to live updates

subscribe(channel)

The result

The Vouch Digital Key SDK allows developers to build their own secure digital key applications for cars, homes, hotels, or pretty much anything. The underlying concepts are simple; it works by establishing associations between users and assets on the blockchain.

Vouch.io Digital Key SDK Functions

As a general overview

  • User and Asset entities are associated in the form of Personas.
  • When a Persona is established, the User and Asset are associated with an Asset Device and a User Device, respectively. This data graph materializes into an Asset Access.
  • A User who has an active Persona over an Asset can then connect to the Asset Device.

The Vouch.io Digital Key Platform is just one of several cutting-edge solutions we've created in our quest to transform digital security for a safer, better-connected future. We believe that providing the best experience for both the end-product users and the developers integrating Vouch SDKs is the way to get there.