PreviewMonitor docs
The Desktop Plugin

Trusted iPhones

How pairing works — the 6-digit code on first connection, silent token reconnects afterwards, where the trust store lives, and how to reset it.

The first time an iPhone connects, a window appears on the desktop with a six-digit code. You type it on the phone. Every connection after that is silent: the phone presents a token it was given at pairing, the plugin recognizes it, and the stream starts with no prompt on either device.

This is a trust-on-first-use model. There are no accounts, no passwords and no server — the pairing exchange happens directly between the two devices on your own network.

First connection

The iPhone opens a TCP connection and introduces itself with its UUID, its name, and any token it already holds for this host.

The plugin finds no matching token, generates a random six-digit code, and shows it on the desktop.

The phone shows a code-entry screen. Type the six digits from the desktop.

If the digits match, the plugin mints a 256-bit session token, writes the phone into its trust store, and sends the token back. Streaming starts.

If the digits do not match, the plugin sends a failure and drops the connection. There is no retry counter and no lockout — reconnect from the phone and you get a new code.

Until pairing completes, the connection is inert. The only messages the plugin will accept or send on an unpaired connection are the pairing exchange itself and heartbeats. No video, no audio, no settings.

The code window on Windows

The PreviewMonitor pairing window on Windows showing a large spaced six-digit code

Title PreviewMonitor — Pair iPhone, the header Enter this code on followed by the iPhone's name, the code in large spaced digits, and the hint This window closes automatically when pairing completes.

The window is always on top, so it will not hide behind Premiere Pro. Cancel or the window's close button abandons the attempt and closes the phone's connection.

The code panel on macOS

The macOS pairing panel titled PreviewMonitor Pairing, with the requesting iPhone's name in quotes above the code

Header iPhone is requesting to connect, the requesting iPhone's name in quotation marks, the caption Enter this code on the iPhone, and a Cancel button that also responds to Escape.

The code has no expiry. It is generated when the phone knocks and lives exactly as long as that one connection attempt — cancel the window, or disconnect from the phone, and the code is gone. Reconnecting produces a different code.

If the code window never appears, see I can't find the pairing code.

Reconnecting

On every later connection the phone sends the token it stored. The plugin looks up the phone by UUID in its trust store and compares tokens. On a match it answers immediately and streaming starts — no window, no prompt, nothing to click.

If the phone presents a token the plugin does not recognize — because you clicked Forget, because the trust store was deleted, or because the phone is pairing with a different Adobe host on the same machine — it is challenged with a fresh six-digit code exactly as if it had never paired.

Only one iPhone streams at a time. A second iPhone connecting replaces the first, and it does so as soon as it opens the connection — before it has entered a code. The first phone's picture stops at that moment.

The TRUSTED IPHONES card

The TRUSTED IPHONES card listing two paired iPhones, each with a pairing date and a red Forget button

Each row carries the iPhone's name, the UTC timestamp of its first successful pairing, and a Forget button.

The card lives in the Setup window. With nothing paired it reads No iPhones paired yet. The list refreshes twice a second, so a pairing that completes while the window is open appears on its own.

An iPhone that reported no name shows as (unnamed iPhone). The timestamp is the moment of first pairing and never updates — it is not a "last seen" time.

Forget

Forget removes that iPhone from this host's trust store. Both platforms ask first:

  • Windows — a dialog titled Forget paired iPhone: "The iPhone will need to re-pair (scan QR / enter code) the next time it connects." Confirm with OK.
  • macOS — an alert titled Forget this iPhone?: "The iPhone will need to re-enter a pairing code the next time it connects." Confirm with Forget.

Forgetting rewrites the store on disk and the row disappears at once. It does not drop a connection that is already running — the token is only checked when a connection is established. The phone will be challenged the next time it connects.

The phone keeps its side of the pairing. It will present its now-unknown token, be challenged, and pair again with a new code and a new token.

Where the trust store lives

Path
Windows%APPDATA%\PremiereLive\trusted.json
macOS~/Library/Application Support/PremiereLive/trusted.json

After Effects writes trusted-ae.json in the same folder. The file is a JSON array; each entry holds the iPhone's UUID, its name, the session token, and the first-paired timestamp.

Explorer showing the PremiereLive folder in AppData Roaming with install.json and trusted.json

The same folder holds install.json, which carries this machine's Instance ID, its display name, and the two Setup-window toggles.

The session token is a bearer credential stored as plain text in your user profile. Anyone who can read that file can impersonate a paired iPhone on your network. That is the correct trade-off for a LAN-only tool with no server, but it is worth knowing before you copy the file anywhere.

Every Adobe host keeps its own list

Premiere Pro and After Effects each maintain a separate trust store, and pairing one does not pair the other.

That is deliberate. The store is keyed by iPhone UUID, and each host issues its own token. If both hosts shared one file, pairing the second would overwrite the first host's token for that same UUID — and switching back would be challenged with a fresh code every single time. Separate files keep each host's trust stable.

The practical consequence: with both applications running you will pair twice, once per host. See Two hosts on one machine.

Reset pairing completely

To make this machine forget every iPhone:

Quit Premiere Pro (and After Effects, if it is running).
Delete trusted.json — and trusted-ae.json if it exists — from the folder above.
Relaunch. The next iPhone to connect is challenged with a new code.

Deleting the file while the host is running works too, but the host may rewrite it from memory on the next pairing, so quitting first is the reliable order.

Do not delete install.json unless you mean to. It holds this machine's Instance ID, which is how every paired iPhone identifies it. Deleting it mints a new ID, and every phone will see the host as a brand-new device — pairing again is then unavoidable, and the old entries in each phone's list are dead. The Setup window's device name and both of its toggles are stored in the same file and reset with it.

For a full clean-out including the plugin binaries, see Reset and reinstall.

Last updated on