Skip to content

Desktop apps with Electron

Some software belongs on the desktop. It has to work offline, talk to a printer or a scanner, or simply sit in the taskbar all day. Electron lets us ship one codebase to Windows, macOS and Linux. It also makes it very easy to ship an insecure app, so we set it up properly from the first commit.

01In detail

What we take care of

01

One codebase, three platforms

Windows, macOS and Linux builds from the same source, with native menus, tray icons and shortcuts where users expect them.

02

Offline-first data

Local SQLite storage that syncs with your server when a connection appears, with conflicts resolved rather than silently overwritten.

03

Auto-updates

Signed releases delivered in the background, with staged rollouts so a bad version can be pulled before everyone has it.

04

Code signing & installers

Signed and notarised builds, so Windows SmartScreen and macOS Gatekeeper do not scare your users away.

05

Security hardening

Context isolation on, Node integration off in the renderer, a strict content security policy and a narrow, validated IPC bridge.

06

Hardware & system access

Printers, scanners, serial devices and the file system, reached through small native or Python helpers when web APIs fall short.

02Process

How it runs

If a web app would do the job, we will say so. Desktop software costs more to ship and support, and it should earn that.

  1. Define

    1 week

    Which platforms, which devices, what must work offline, and how updates will reach users.

  2. Prototype

    2 – 3 weeks

    The riskiest part first, usually hardware access or sync, proven on real machines.

  3. Build

    2-week cycles

    Installable builds every cycle, tested on Windows, macOS and Linux.

  4. Release & support

    Ongoing

    Signing, update channels, crash reporting and fixes after launch.

03Deliverables

What you get

  • Signed installers for each platform
  • An auto-update pipeline with release channels
  • Crash and error reporting
  • Source code and build pipeline in your repository

Tools we reach for

  • Electron
  • TypeScript
  • Vue
  • Python
  • SQLite
  • electron-builder
  • GitHub Actions

Security checks

Six security checks before every launch.

Before anything goes live, we test it the way an attacker would, then write down what we found and how we fixed it. The same six checks run on every project, from a one-page website to a government portal.

  1. 01

    Scan for known weaknesses

    We check your code, the libraries it uses and the server for weaknesses attackers already know how to exploit.

    OWASP Top 10 · CVE database

  2. 02

    Try to break in

    Our engineers attack it the way a real attacker would: logins, permissions, file uploads, pages that should be hidden.

    OWASP ASVS

  3. 03

    Check every public link

    Every public page and address is crawled for files, folders and test pages that should never have been online.

    OWASP Top 10

  4. 04

    Look for malware

    The code, the server and anything users can upload are checked for malware and hidden backdoors.

    Before every launch

  5. 05

    Try to trick the AI

    For AI agents, we try to make them leak data, ignore their instructions or use access they should not have.

    OWASP Top 10 for LLM Applications

  6. 06

    Write it all down

    Every finding, how we fixed it and the re-test that proves it, in a report your auditors can read.

    ISO/IEC 27001-aligned process

Our process follows ISO/IEC 27001 controls. Prospiral is not ISO certified. VAPT means vulnerability assessment and penetration testing: the first two checks above.

05Questions

Questions we get asked

It is larger than a fully native app. It is also what VS Code and Slack run on. For most business software, one codebase across three platforms is worth the extra megabytes.

Yes. We design the data layer offline-first and sync whenever a connection is available.

Often, yes. We add the desktop features users actually need and lock down the security settings that a plain wrapper leaves open.

Start a conversation

Tell us what’s broken.Or what you want built.

Send a few lines about the system or the idea. One of the engineers who would actually do the work will reply, usually within a working day.

[email protected]