KeyCourier / Support

Help with owner-approved credential delivery.

KeyCourier is a native macOS app with an iPhone companion. It lets you approve eligible requests and send a new API key or password to your paired Mac without putting credential text in an AI response.

Download the KeyCourier Bridge

The Bridge is the separate macOS app that runs the keycourier-bridge command. It delivers an approved encrypted command to a fixed, owner-approved local destination. It does not have access to the vault Keychain and never returns a credential value to an AI client.

Download KeyCourier Bridge macOS 14 or later / version 1.0.0 / ZIP
File
KeyCourierBridge-notarized.zip
SHA-256
59b4e3b36aca472b8a86d75dbec28b32f1b8f0328c020585b5dd7e82e6c66f05

Install and pair

  1. Verify the download before opening it. In Terminal, type shasum -a 256, add a space, drag KeyCourierBridge-notarized.zip from Finder into the Terminal window, press Return, and compare the result with the SHA-256 above. Stop if it does not match.
  2. Open the ZIP in Finder and move keycourier-bridge.app to /Applications.
  3. Make the command available in your local path. This optional link keeps the app bundle as the source of the command and does not replace an existing path:
    mkdir -p "$HOME/.local/bin"
    ln -s "/Applications/keycourier-bridge.app/Contents/MacOS/keycourier-bridge" "$HOME/.local/bin/keycourier-bridge"
    export PATH="$HOME/.local/bin:$PATH"
    The export applies to the current Terminal window. Add $HOME/.local/bin to your shell configuration for future windows. If ln says the destination already exists, inspect it before changing it.
  4. Open KeyCourier for Mac and select the Bridge tab. In Terminal, run keycourier-bridge pair. The first run may return status: waitingForStore; return to the Bridge tab, choose Refresh, and run the command again.
  5. When Terminal returns status: waitingForOwner and a pairingCode, compare that code with the one in Bridge setup. Select I confirmed the codes match, choose Trust this bridge, then run keycourier-bridge pair again. Complete the owner-authentication prompt. A successful pairing returns status: paired.
  6. After pairing, configure one local destination. Replace the example IDs, path and variable names before running one of these commands. The path must be absolute and its parent directory must already exist:
    keycourier-bridge configure \
      --consumer local-service \
      --name "Local service" \
      --target this-mac \
      --path "/Users/your-name/project/.env" \
      --variable SERVICE_API_KEY
    
    keycourier-bridge configure-login \
      --consumer local-login \
      --name "Local login" \
      --target this-mac \
      --path "/Users/your-name/project/.env" \
      --username-variable SERVICE_USERNAME \
      --password-variable SERVICE_PASSWORD
    Use configure for one value or configure-login for a username and password. Both commands require owner authentication. The saved profile is fixed before an AI can request delivery; request-time paths and commands are rejected.

Contact support

Email austratlien@gmail.com for help, feedback, or accessibility questions.

Include the KeyCourier version, macOS or iOS version, and the action that failed. Do not send an API key, password, pairing code, private CloudKit record, or screenshot that contains a secret.

Pair the iPhone companion

Sign in to iCloud on the Mac and iPhone. Enable iPhone companion in KeyCourier Settings on the Mac, then register the iPhone in KeyCourier Companion.

Approve the exact registration on the Mac. Compare the pairing code shown by both apps. Confirm the match on the iPhone with Face ID or the device passcode. Only one iPhone can be trusted at a time.

Approve a request

The Mac app publishes only metadata for credentials that you marked as eligible for iPhone approval. The iPhone notification contains no credential value. Open the request, check the destination and reason, then approve or decline with Face ID or the device passcode.

If the Mac is locked or closed, the decision waits in the private CloudKit database until KeyCourier can process it or the request expires.

Add or replace a credential

Paste one API key or password. If a service needs both values, choose username and password. A display name is optional. Existing entries start in their current format when you choose Replace.

The iPhone encrypts the value for the paired Mac, clears the form, and sends the encrypted envelope. The Mac imports it into the protected Keychain while KeyCourier is open and unlocked.

If a notification is missing

  • Check that the iPhone has an available iCloud account.
  • Check that KeyCourier Companion has notification permission in iPhone Settings.
  • Open the Requests tab and pull to refresh. A push notification is a refresh hint, not the request itself.
  • Keep the paired Mac open and unlocked when you want it to process an approval or encrypted credential.

Read the privacy policy

KeyCourier does not give the developer access to your plaintext credentials. The KeyCourier privacy policy explains local Keychain storage, private CloudKit records, notification data, and deletion controls.

Last updated 29 August 2026.