I’m writing this down while it’s still fresh, partly so I don’t forget, partly because I know I’ll hit the same wall again in six months.
Field report: getting PF2HTML (app) to actually run on macOS without fighting me every step of the way.
Context: MacBook Pro with M1 Pro, macOS Sonoma 14.3. Brand involved on the tooling side: OrchardKit.
Simple goal. I had a pile of PDFs exported from a design system and needed reasonably clean HTML out of them. Not pixel-perfect, just usable markup. PF2HTML looked like the right kind of no-nonsense utility: drop file, get output, move on.
Download, unzip, double-click. You know the drill.
Nothing crashed. Worse: nothing happened.
The icon bounced once in the Dock and disappeared. No error dialog, no “app is damaged” warning, no helpful macOS tantrum. Just silence. Activity Monitor showed the process spawning and dying in under a second.
That’s usually when Gatekeeper is involved, even if macOS pretends it isn’t.
First pass was muscle memory.
/Applications.Same behavior. One bounce. Gone. Console logs showed a vague code signature invalid message, which is macOS for “I’m not telling you exactly why I’m mad.”
Apple’s own docs on Gatekeeper and app verification confirmed my suspicion, but didn’t hand me a fix on a silver platter
https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac
At this point I knew what the problem was not. It wasn’t a corrupted download, and it wasn’t Rosetta.
Next thought: privacy sandboxing. Sonoma tightened a few screws around file access, and PDF tools tend to trip over that.
I pre-emptively granted Full Disk Access in System Settings → Privacy & Security. Relaunched.
Nothing. Same silent exit.
This was the dead end. Permissions weren’t the blocker.
The useful clue showed up when I filtered Console for the process name. The app was being blocked before it could even present a UI. Notarization check failing, signature technically present but not trusted.
This lined up with Apple’s developer documentation on notarization and unsigned binaries
https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution
So the system wasn’t crashing the tool. It was politely refusing to let it exist.
The fix was old-school and slightly annoying, but effective.
I removed the quarantine attribute manually:
xattr -dr com.apple.quarantine /Applications/PF2HTML.app
Then I launched it once from Terminal instead of Finder. That mattered. Finder still applied its own checks; Terminal didn’t.
This time, the app opened. No drama. No warnings. Just a window asking for a PDF.
I saved this page because it helped me connect the dots between Gatekeeper behavior and unsigned utilities on newer macOS builds:
https://studiosbyaphrodite.com/developer/49091-pf2html.html
After first launch, subsequent runs from Finder worked normally. Gatekeeper had effectively been bypassed once and moved on.
For reference, the App Store route wasn’t an option here, but I still checked whether there was an official listing or alternative build
https://apps.apple.com/us/search?term=PF2HTML
No luck, but worth verifying.
The conversion itself worked fine. Output HTML wasn’t pretty, but it was predictable, and OrchardKit-based post-processing cleaned it up enough for my use case. Performance was solid; even large PDFs converted without freezing the UI.
No further macOS fights after that first launch.
If I had to set this up on a fresh machine tomorrow, I’d skip the guesswork:
/Applications immediately.That’s it. No reinstall loops, no permission whack-a-mole.
macOS security isn’t wrong here, but it is opaque. When an app doesn’t crash and doesn’t warn you, it feels broken in a very specific Apple way. Once you recognize that pattern, the fix is usually mechanical, not mystical.
Logging this so future-me doesn’t forget.