Trinity Passport

A native desktop identity vault for Windows, macOS, and Linux. Private keys never leave your device.

Overview

Trinity Passport is the user-facing application in the Trinity ecosystem. It provides a secure vault for private keys and certificates with an intuitive UI for managing the full certificate lifecycle.

Features

Installation

Prerequisites

Development Mode

cd passport

# Linux (Ubuntu 22.04+)
wails dev -tags webkit2_41

# macOS / Windows
wails dev

Production Build

wails build -tags webkit2_41

Workflow

1. Create Vault

On first launch, set a master password. This encrypts all private keys at rest using XChaCha20-Poly1305 with an Argon2id-derived key.

2. Create Identity

Click + Add Identity, choose a label and key type (ECDSA P-256 or RSA-2048). A private key and CSR are generated locally.

3. Get Certificate Signed

You have three options:

4. Import Certificate

Once signed, import the certificate via drag-and-drop, clipboard paste, or cloud polling. The identity status changes to "Verified".

Whitelabeling

Edit config.json in the passport root:

{
  "appTitle": "Acme Identity",
  "companyName": "Acme Corp",
  "adminEmail": "security@acme.com",
  "primaryColor": "#1a1a2e",
  "accentColor": "#e94560"
}

Connect Mode

Connect Mode is a "Just-in-Time" security feature. It temporarily enables network operations for 10 minutes. When disabled, no outbound requests are made — a Fortress Mode indicator shows the vault is sealed.

Configure the Spirit URL and Enrollment Token in Settings to enable cloud submission.

Project Structure

PathDescription
app.goMain application logic, Wails API bridge
main.goEntry point, config loading, Wails init
internal/crypto/Vault encryption, key generation
internal/config/Configuration management
frontend/HTML, CSS, JS frontend