Findy Agency Architecture

Brief description of Findy Agency architecture

Overview of Findy Agency. See more detailed description in findy-agent documentation.

The backend server of Findy Agency consists of three services:

  • core/findy-agent that handles all agent functionality including credential handling and Aries protocols
  • vault/findy-agent-vault that maintains a database of agents’ data. Currently vault has only GraphQL-interface for data queries, that is intended mainly for browser web wallet use.
  • auth/findy-agent-auth that registers and authenticates all agency users.

Reference web wallet implementation is a React app that utilizes standard WebAuthn protocol and browser capabilities to authenticate to backend. Web wallet uses GraphQL to fetch and update agency data.

Wallet login screen.

Service agents are applications that handle verified data on behalf of organizations. Service agents utilize Findy Agency through headless authentication and gRPC API. Samples and reference implementations can be found in agency gRPC helper libraries for go, Typescript or Kotlin.

Agents can be also operated through a CLI, findy-agent-cli, that provides most of the functionality needed for agent and agency manipulation.