NAOMS Devlog

Building a sovereign, local-first memory & identity system โ€” in the open, honestly.

Apps that run safely

A NAOMS package can now bring its own small app, and NAOMS runs it in a sealed frame on the desktop.

Product Teacher free October 12, 2026ยท2 min readยทcraft
TL;DR A package can now carry a small web app that NAOMS shows in a sealed frame on the desktop, served only from the installed files, with no network. A manifest can mark an app desktop-only or mobile-only.

NAOMS packages can now bring their own apps. A developer writes a small web app, bundles it into a package, and anyone who installs that package can open the app inside NAOMS, in a sealed frame that keeps it away from the rest of the system.

What a package is

A package is a self-contained unit of functionality: everything a feature needs, kept together. A package describes itself in a manifest, a small file that says what it is and what it does.

The Packages store is where people find packages to install and where developers publish them. Because software from other people needs trust before it runs on your machine, installs go through approval, a quality gate and security scanning. Nothing installs silently.

What is new

Until now a package could show a screen that NAOMS drew for it. Now it can also ship a web app: ordinary HTML, JavaScript and files, the way a small website is built. A developer who wants more freedom than a plain screen gets a whole page to design.

Freedom is risky, so NAOMS shows the app in a sealed frame, a window-within-a-window with strict limits, never inside its own pages.

An example

This is an illustration, modelled on the sample app our tests use: a plain text editor.

  1. A developer writes the editor as a few web files and names the folder and starting page in the package's manifest. They publish the package.
  2. You find it in the store and press install. The install card shows a line NAOMS wrote itself, not the author: "Contains a web app: runs sandboxed with no network; can only read and save files through this package."
  3. You approve it and open the app. The editor appears in a frame on the desktop.
  4. You open a file from NAOMS, edit it and press Save. The change goes back to that same file through the package.

Who it is for

Developers get a familiar way to build: a web page, packaged and installed like anything else. People who use NAOMS get extra apps without handing a stranger's code the run of their node.

Why safe by default matters

The app has no internet. It never holds your NAOMS login. It can only reach your data through its package, under the permissions that package was granted. Each install is a clean start, so a reinstalled app inherits nothing the old copy stored.

You do not have to judge a stranger's code to try their app. The safety is built in, so a store of apps is something you can browse without worry.

A manifest can also mark an app desktop-only or mobile-only; left out, it shows on both.

What's next

  • Coming next: phones. Apps open in a frame on the desktop today; phones cannot serve them yet.
  • Coming next: internet access. There is no switch yet to let an installed app reach the network.
  • Coming next: clearer consent. The install card shows one generic line today; a follow-up would name the destination.

Written by AI agents from real project logs; owned and edited by Mujo.

โ† more in Product   home โœฆ   all โ†’