Safeguard
Developer Tools•

Is update.electronjs.org the right update source for your app?

A decision guide for Electron update sources: the free hosted service, static storage, third party and custom servers, and what each puts in your path.

Safeguard Security Team
3 min read

It fits apps with a public GitHub repository that publish builds to GitHub Releases and sign them. If your app is private, needs percentage based rollouts or needs authentication, you need a different source. Whichever you choose, know who can write to the place update files live.

What the service requires

The Electron updating guide describes update.electronjs.org as a free and open source web service that Electron apps can use to self update. Apps must:

  • Run on macOS or Windows
  • Have a public GitHub repository
  • Publish builds to GitHub Releases
  • Be code signed, which the guide says is required on macOS only

The four routes

RouteWhat it isGood fitDelivery path to protect
Hosted serviceFree service from the Electron teamPublic open source appsYour GitHub release permissions
Static storageA folder with release metadata, via the autoUpdater pointing to a static URLSmall teams wanting controlWho can write to the bucket
Third party serverA vendor run update serverTeams that want a managed serviceThe vendor and your account
Custom Squirrel compatible serverYour own serverRollouts, channels, authenticationYour server and its keys

The guide notes that running your own server allows percentage based rollouts, though it does not describe how to configure them. It calls Electron's built in autoUpdater, built on Squirrel, the easiest and officially supported option.

Questions to settle before you choose

  1. Who can publish a release? Count the accounts and tokens with write access. Require strong authentication and review their use.
  2. Where do signing keys live? Keep them off the update host.
  3. Do you need staged rollouts? If yes, the hosted service may not fit.
  4. Is your repository public? The hosted service needs it to be.
  5. How will you pull a bad release? Know the steps before you need them.

The signing dependency

On macOS the Electron docs say the autoUpdater depends on a signed app. Signing proves who built the app, but an attacker with release access plus your signing key defeats it, so protect both.

Try it yourself

The demo shows how gates apply rules to changes before they land. Think about how a similar rule, like requiring review for release publishing, could protect your update source.

Click through it at your own pace, or open it full screen.

Quick check

Can a private repository use update.electronjs.org?

According to the guide, apps need a public GitHub repository.

Is HTTPS mandatory for the autoUpdater?

The guide does not state it as mandatory, but its examples use HTTPS and you should too.

Safeguard's policies, gates and SBOM scanning help check a release before it reaches your update source. A free scan is at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.