I measured what SmartScreen costs an indie developer. It's about 4x

fdcampbell1 pts0 comments

I Measured What SmartScreen Costs an Indie Developer. It's About 4x.

I ship a desktop finance app for Mac and Windows. Same website, same<br>download page, same button. One build gets notarized by Apple; the other gets signed with<br>an OV certificate from Certum. Both are, by every technical measure, correctly signed. Both<br>display a verified publisher name at the security gate.

Last week I added a beacon that fires once on first app launch, and started diffing it<br>against download-page hits. I expected the two platforms to differ. I did not expect this:

Mac: about 6 of 10 downloads became a first launch.

Windows: about 2 of 15 did.

Same week. Same product. Roughly a 4x gap, and the only variable that changed is which<br>OS gate the user walked through.

I want to be careful about what that number is and isn&rsquo;t, because the whole point of<br>writing it down is that most discussion of SmartScreen is vibes. So here is the measurement,<br>the correction I had to make to it, and the thing it implies that I think a lot of people<br>are getting wrong.

The measurement

There are two counters. One increments on the download page. The other increments the<br>first time the app process starts on a machine it hasn&rsquo;t started on before, keyed by an<br>install ID minted at first launch — before any license activation, which is the entire<br>reason it can see this population at all. If you key install identity to a license, you can<br>only measure people who already bought. The people I need to see are the ones who downloaded<br>and vanished.

The gap between those two counters is the leak: downloads that never became a running<br>process. Something between the download completing and the app starting ate them.

The correction that mattered

My first read said Windows was at 40%. That was wrong, and wrong in the flattering<br>direction, because I was in my own data.

Every time I test a build, I get a fresh install identity — new machine, new VM,<br>freshly wiped box, doesn&rsquo;t matter, the beacon sees a new person. Over four days my ten<br>distinct &ldquo;installs&rdquo; included seven of me. I do more of my testing on Windows than<br>on Mac, so my own noise was propping up the Windows number specifically.

I de-phantomed by hand using three signals, in descending order of confidence.<br>Cross-platform timestamp pairing was the strongest: two installs eight minutes apart on<br>different platforms is one person cycling builds, not two strangers. Then, license rows that<br>report a platform, cross-referenced against the four license keys I know are mine. Then<br>workflow shape — I test the DMG before I complete a release, so a test install<br>always reports the new version number. Two Mac installs reporting the previous<br>version two days ahead of that release therefore couldn&rsquo;t be me, which is how they got<br>ruled real.

That process cut Windows from 40% to about 13%. It cut Mac too, just less. If you are<br>measuring your own funnel and you have not removed yourself from it, your number is wrong by<br>roughly the amount you&rsquo;d most like it to be wrong by.

Why the gap exists: the default action differs

The mechanism isn&rsquo;t that Windows warns and macOS doesn&rsquo;t. Both warn. The<br>difference is where each OS puts the button that continues.

On macOS, a notarized app downloaded from the internet gets a dialog that says so and asks<br>if you&rsquo;re sure. Open is right there in the dialog, as the default. The<br>gate is a speed bump: read one sentence, click the obvious button.

On Windows, an app without accumulated SmartScreen reputation gets &ldquo;Windows protected<br>your PC.&rdquo; The visible button is Don&rsquo;t run . The button that<br>continues is behind a More info link that does not look like a link to a<br>button — it looks like an explanation. A user who wants to proceed has to first<br>disbelieve the dialog, then go looking.

That&rsquo;s the whole thing. One dialog&rsquo;s default is proceed; the<br>other&rsquo;s default is abandon, and continuing requires an act of deliberate<br>defiance against a screen that just used the word &ldquo;protected.&rdquo; My ~4x is what<br>that costs.

(Worth noting the macOS side has been tightening:<br>Sequoia<br>removed the Control-click override for unsigned apps, so this comparison is<br>specifically notarized-vs-signed, not lazy-vs-lazy. I&rsquo;m paying for both gates. Only one<br>of them lets people through.)

The advice that no longer works

The standard answer to &ldquo;how do I get past SmartScreen&rdquo; has been: buy an EV<br>certificate, they grant instant reputation. Skip the wait, pay the premium.

That advice is dead, and if you&rsquo;re about to spend on it, stop. Microsoft&rsquo;s own<br>documentation now states it flatly:<br>&ldquo;EV<br>certificates no longer bypass SmartScreen... this behavior no longer exists&rdquo;, and<br>paying a premium for EV solely to avoid warnings is no longer justified. EV now goes through<br>the same organic reputation-building as OV. The change<br>went<br>in during 2024 but didn&rsquo;t become widely visible until a CA...

rsquo windows smartscreen button first wrong

Related Articles