homebrew-trustpin

TrustPin CLI

The official command-line interface for TrustPin certificate pinning management. Manage certificate pinning configurations, discover certificate pins for your domains, and sign and publish configurations that your mobile apps consume — from your terminal or your CI/CD pipeline.

Documentation

Features

Installation

Install via Homebrew (macOS and Linux, Intel & ARM):

# Add the TrustPin tap
brew tap trustpin-cloud/trustpin-cli

# Trust the tap (required once — Homebrew 6.0+ blocks installs from untrusted third-party taps)
brew trust trustpin-cloud/trustpin-cli

# Install
brew install trustpin-cli

Why brew trust? Since Homebrew 6.0, installing from a third-party tap requires a one-time, per-user trust approval. Without it you’ll see Error: Refusing to load formula … from untrusted tap. Trust is a local decision on your machine — there is no way for us to pre-approve the tap on your behalf.

Using a Brewfile with brew bundle? Record the trust approval inline so installs don’t prompt or fail:

tap "trustpin-cloud/trustpin-cli"
brew "trustpin-cloud/trustpin-cli/trustpin-cli", trusted: true

Quick start

# 1. Configure the CLI with your API token (prompts interactively)
trustpin-cli configure

# 2. Verify your credentials and see your organizations
trustpin-cli user info

# 3. List your projects
trustpin-cli projects list

# 4. Discover certificate pins for a domain
trustpin-cli domains certificates api.example.com

# 5. Add a pin to a project
trustpin-cli projects upsert <organization-id> <project-id> \
  --domain api.example.com \
  --pin spki-sha256:oxVSdCLgthL3M5Vnnzepq8WWlkUfRPYkpjLpm+wn+1o= \
  --expires 2026-04-13T08:37:02Z

# 6. Sign and publish the configuration
trustpin-cli projects sign <organization-id> <project-id>

Your mobile apps pick up the newly published configuration from the TrustPin CDN on their next refresh.

See the Command Reference for full details on every command.

Typical workflow

  1. Discover pinsdomains certificates shows the live certificate and any certificates found in Certificate Transparency logs for a domain, with ready-to-use pin values.
  2. Update the projectprojects upsert adds or updates a pin for a domain; projects cleanup removes pins that have already expired.
  3. Publishprojects sign signs the configuration as a JWS and publishes it to the CDN. Until you sign, changes are staged but not live.
  4. Verifyprojects jws fetches the currently published configuration, optionally verifying its signature and decoding its payload.

Support

License

Distributed under the TrustPin Binary License Agreement — see the full license text.