Personal Verifiable Trust Agent

Run your own trust agent.

FirstPerson.dev is a test community for the Verifiable Trust Infrastructure stack. Download the two binaries, walk through the setup, and you'll be joined to the community in about ten minutes.

Downloads

Two binaries, Both architectures

Grab the latest release of pnm and openvtc for your platform.

pnm

Personal Network Manager

CLI for linking your machine to a Verifiable Trust Agent and managing the contexts it exposes. Use pnm setup to connect, pnm health to check status, and pnm contexts list to see what's configured.

openvtc

Verifiable Trust client

Interactive client for creating personas, joining communities, and holding credentials. Each profile lives in its own context, and you can run multiple profiles against the same VTA — useful for testing flows between identities.

Walkthrough

Watch the getting started video.

A ten-minute screen recording that walks through the full setup, from download to your first verifiable credential.

Watch the Video
Setup

From binaries to your first community, end to end.

Plan on about ten minutes. Before you start, make sure you have the two binaries downloaded above and your VTA invite link (sent to you via Signal).

  1. Gather what you'll need.

    You'll need two things in front of you: the pnm and openvtc binaries from the section above, and your VTA invite link.

  2. Make the binaries executable.

    From the directory where you downloaded them, run these two commands to mark pnm and openvtc executable and clear the macOS quarantine flag. The binaries are unsigned, but they come directly from us, so it's safe to override the check.

    chmod +x ./pnm ./openvtc
    xattr -d com.apple.quarantine ./pnm ./openvtc

    Confirm with ./pnm help.

  3. Provision your VTA in the browser.

    Open the invite link, sign up with a passkey (Touch ID or equivalent), then click Create VTA. Give it a name and stick with the latest image — only pick an older one if you've been told to. Provisioning spins up a Kubernetes pod; give it a few seconds, then copy the VTA's DID when it appears.

  4. Link the PNM to your VTA.

    Run ./pnm setup, choose connect to an existing VTA, give it a name, and paste in the VTA DID. PNM prints an admin DID key — copy that key, paste it back into the browser, and click Provision agent. Watch the log output; once the agent finishes spinning up, you're linked.

  5. Verify the PNM.

    Run ./pnm health and check the diagnostics come back clean.

  6. Set up an OpenVTC profile.

    Run ./openvtc -p alice setup, swapping in any profile name you like — you can attach multiple profiles to one VTA for testing. Tab through Profile Setup and paste the VTA DID (grab it from the OpenAgent page in the VTA portal). OpenVTC hands you a command to run: strip the trailing backslash, prefix it with ./, optionally edit the label, then run it in a new terminal tab. Return to the OpenVTC tab and press Enter. For testing, decline the OpenPGP hardware token setup and skip the on-lock code when prompted.

  7. Create your first persona DID.

    In OpenVTC, arrow down to Persona DID, tab over, and hit Enter. Give it a descriptive label like alice@fpdev — use one persona per community so identities can't be linked across them. The persona is generated and uploaded to the DID hosting service automatically.

  8. Join your first community.

    On the Communities tab press J, paste the community DID from vtc.firstperson.dev, select the persona you just created, and confirm. The join request goes to the VTC admin; once they approve it, your terminal picks it up automatically and your membership credential lands in OpenVTC.