PIONEERING

Docs/Start here/Installing

Installing

Both platforms install per-user. Nothing needs an administrator, nothing lands in a system directory, and nothing is written outside your own account.

Windows#

The installer is a single .exe with everything inside it.

%LOCALAPPDATA%\Programs\Perch\        the app, its runtime, the extension
%LOCALAPPDATA%\Perch\                 settings, logs, the browser profile
%APPDATA%\...\Start Menu\Programs\    the shortcut
HKCU\...\Uninstall\Perch              the Add/Remove Programs entry
HKCU\...\NativeMessagingHosts\        the browser bridge registration

Why it refuses to elevate#

This is worth stating plainly, because "no admin prompt" usually means a corner was cut. Here it is the opposite: an elevated Perch would not work.

Perch launches its own Chrome, so an elevated Perch means an elevated Chrome. Windows then puts User Interface Privilege Isolation between that Chrome and everything running as you — and the share picker lives on the ordinary desktop. Raise the app above that desktop and the two halves can no longer reach each other.

If something ever asks you to run Perch as administrator, it is not Perch.

Windows will warn the first time, and here is exactly why#

SmartScreen shows a blue "Windows protected your PC" panel, and the installer does not run until you choose More info → Run anyway.

The reason is the same one as on macOS: there is no code-signing certificate for Perch. An Authenticode certificate costs a few hundred US dollars a year from a certificate authority, and an EV one — the kind that clears SmartScreen immediately rather than slowly building reputation — costs more again. A one-person studio has not bought one.

What you actually lose by that.

  • Windows cannot tell you who published this installer, because nobody countersigned it.
  • SmartScreen has no reputation history for the file, so it treats it as unknown rather than as known-good or known-bad. It is not reporting a detection.
  • If this file were ever replaced with a malicious one, an unsigned binary is not something Windows can distinguish from the real one.

What you can check instead. The same SHA-256 published beside the download on your account page:

certutil -hashfile "%USERPROFILE%\Downloads\Perch-0.18.4-win-arm64-Setup.exe" SHA256

The same limit applies as on macOS: it catches corruption and a network that can rewrite bytes but not the manifest, and it says nothing about authorship, because the file and the hash come from the same server.

What would actually fix this

A code-signing certificate, on both platforms. Until then the app's own updater is explicit about it too — it verifies a published SHA-256 and says so in the settings pane, rather than borrowing language that would imply a signature check it does not perform.

macOS#

A normal app bundle. Drag it to Applications.

/Applications/Perch.app                    the app
~/Library/Application Support/Perch/       settings, logs, the browser profile

macOS will refuse to open it the first time, and here is exactly why#

The build is signed, but not notarized by Apple. The first time you open it, macOS says it "cannot be opened because the developer cannot be verified".

That is not a virus warning and it is not macOS detecting anything in the app. It is macOS saying it has no Apple-issued identity to check the signature against. Notarizing requires an Apple Developer Program membership at US$99 a year, and this is a one-person studio that has not bought one.

What you actually lose by that. Notarization is an automated scan Apple runs over an uploaded build, checking it against their malware signatures and stapling a receipt to it. Without it:

  • Apple has not scanned this build. Nobody at Apple has looked at it.
  • macOS cannot confirm that the person who built it is a known, traceable developer with a revocable certificate.
  • If this file were ever swapped for a malicious one somewhere between us and you, macOS would not be the thing that catches it.

What you can check instead. Every build's SHA-256 is published on your account page beside the download. Compare it against the file you received:

shasum -a 256 ~/Downloads/Perch-0.17.4.dmg

If the two strings match, the file is byte-for-byte the one the account page is describing. Be precise about what that buys: it catches a corrupted or truncated download, and a network that can rewrite bytes but not the manifest. It does not establish who wrote the app. The file and its hash come from the same server, so anyone able to replace one could replace the other. It is not a substitute for notarization and nothing here pretends it is.

Opening it anyway. Right-click Perch.app in Applications and choose Open, then Open again in the dialog. That is a decision about this one app and nothing else, and you only make it once.

Do not disable Gatekeeper

Advice to run sudo spctl --master-disable turns the check off for every application on the machine, permanently, including ones you have not chosen to trust. Perch does not need that and you should not do it for any app. xattr -dr com.apple.quarantine /Applications/Perch.app is narrower — it strips the download flag from this one bundle — but right-click → Open is the supported path and leaves the rest of the system alone.

And if you would rather not. That is a completely reasonable call and there is no argument here against it. Trusting an unnotarized build means trusting the publisher directly instead of Apple's check, and if you do not want to extend that trust, do not. Cancelling removes nothing you have already installed and changes nothing about your subscription. Windows is not the safe alternative here — it has no certificate either, for the same reason; see above.

macOS does have a screen-recording permission, and Perch asks for it the first time you start a mirror. It cannot be granted in advance by the installer; the system requires the app to ask.

Removing it#

Windows#

Settings → Apps → Perch → Uninstall, or run Perch.exe --uninstall.

The uninstall lives inside Perch.exe rather than in a separate binary, because a separate uninstaller would be a second copy of the self-contained runtime — about half the install again, on disk to be used once.

macOS#

Move the app to the Trash, then remove the support directory if you want it gone.

What is deliberately left behind#

Your browser profile. It is the only thing in the install holding anything of yours — sessions, history, cookies — and it is much larger than everything else combined. Removing an application should never quietly take a browser profile with it, so the uninstaller tells you where it is and leaves it alone.

Everything it does remove goes to the Recycle Bin or the Trash, never a hard delete. An uninstaller is the wrong place to be irreversible.

If files are left behind

The one thing a running program cannot do is delete the folder it is running from. On Windows that step is handed to PowerShell, which waits for Perch to exit first. If something was still holding a file open, the uninstaller says so and names the folder rather than failing silently.

Last updated 31 Aug 2026