Letro’s VeraId integration server

This server is part of a centralised Awala service that integrates VeraId in Relaycorp’s Letro user agents, such as Letro for Android, in order to offer a superior user experience. The server supports the following modules:

This component effectively makes Relaycorp’s Letro implementation an Awala hybrid service, where the core Letro protocol remains fully decentralised.

Architecture

This server is an Awala Internet Endpoint backend deployed on Google Cloud Run. It uses the following backing services:

The production environment for this app can be found in the letro-cloud project.

Data persistence

Refer to the documentation of each module for details on the data persisted (if any). Note that the server also uses logging extensively for debugging purposes and such logs will often contain data from the incoming messages (e.g., VeraId member ids).

Awala service messages

All messages exchanged with this server have a type beginning with application/vnd.relaycorp.letro. and are serialised with ASN.1 DER.

Third-party Letro user agents

This server is only meant to be used by Relaycorp’s Letro user agents. If you want to build an alternative user agent and use the functionality supported by this app, you MUST deploy it to your own hosting environment.

Our T&Cs forbid third-parties from using our instance of this app, as it’d be unfair for Relaycorp to bear the hosting and operation costs of maintaining this app for the benefit of third-party Letro agents. Note that if you’re a third-party user agent developer, you’d still want to fork this app for the following reasons:

  • We will introduce backwards-incompatible changes without prior notice.
  • We won’t support cloud providers other than Google Cloud Platform.
  • If you’re implementing your own user agent, chances are you want to do things differently anyway.

Note that any forks will remain subject to terms of the GNU Affero General Public License v3.0.