Obsigen Forge · as of 2026-10-22 · Early Access

Obsigen on your computer.
Forge for VS Code. Runtime without an IDE.

The Obsigen agent in a VS Code panel. Confirmations only for commands that could break something - everything else runs in the OS sandbox (macOS and Linux), and one click undoes the file changes of any turn.

Join Early AccessBook a demo

In Early Access, the extension is distributed as a .vsix file.

ChangelogSystem architecture

interface simulation · sample data
13 → 11

confirmation cards in a typical turn. The folder guard and the OS sandbox replace the confirmations that protected nothing.

1Features

  • Code and Plan modes - in Plan mode the agent first presents its intent and only then changes files.
  • Attachments: selection, file, image, document.
  • Run / Skip / To terminal - a card only for commands that could break something.
  • “What I changed” after every turn; one click undoes the file changes of the whole turn.
  • Syntax check after every save - TS/JS, Python, PHP, Lua, Bash and HTML (6 languages2); project verification after the turn.
For engineers

Command classes R/A/D/X (read, append, delete, execute); network modes off | localhost | on.

2Safeguards

safeguardwhat it does
workspace boundary (realpath)the extension works only inside the workspace; symbolic links that point outside it are rejected
excluded secrets.env files and files recognised as keys or tokens are kept out of the turn
folder guard R / A / D / Xclassifies commands: read, append, delete, execute; confirmation only for classes that carry risk
OS sandboxmacOS Seatbelt, Linux bubblewrap; on Windows the OS sandbox is in preparation - until then Forge asks for confirmation more often
network: off | localhost | onoff by default; localhost for testing; full access only when deliberately turned on
environment variable scrubbingvariables recognised as secrets reach neither the model nor the log
commands outside the fencedocker, ssh, gh, installers, git fetch, sudo - always with confirmation
protection of changes made outside the turna file changed outside the turn (mtime) is not overwritten without confirmation
device tokenin SecretStorage / the system keychain; one per device, revocable from the account panel

Tests: 37/37 extension tests3.

3Obsigen Runtime

Obsigen Runtime is a single file that runs on your computer. It lets Obsigen work on local files without copying folders to a server. It opens one outbound connection and does not listen on any port. It runs commands inside a fence enforced by the operating system, and one command undoes the file changes of any turn. It runs only when you start it, is not a system service and connects only to your tenant - never to GRID.

interface simulation · sample data
ON YOUR COMPUTER YOUR TENANT Shared folders only the ones you open never the home folder or root 1 Credential stores 17 locations · hidden from the command .ssh .aws .kube .gnupg .netrc … 2 Command inside the OS fence Seatbelt · bubblewrap Network localhost only by default 3 Undo copy one per turn, on your disk obsigen-runtime undo Local log paths, hashes, exit codes no file contents · 7 days 4 OBSIGEN RUNTIME one file · one dependency · token in the system keychain NO LISTENING PORTS one outbound WSS device gateway in your own tenant TENANT your data Runtime connects to exactly one endpoint: your own tenant. Never to GRID. Never to another tenant. Nothing connects to Runtime. It opens one outbound connection and listens on no port - there is no entry point from outside.
Runtime sits between your files and your tenant and is the only component of the system with access to your disk.
  1. Folders are shared one at a time, with the share command. The path is resolved with realpath; the home directory and the file system root are rejected, so the whole disk cannot be shared by mistake.
  2. 17 credential locations4 are masked before every command: SSH and GPG keys, cloud and cluster credentials, the password manager, .netrc, .git-credentials, the Docker configuration, and Chrome, Firefox and Brave browser profiles. Directories get an empty filesystem; files get a link to /dev/null.
  3. By default, a command sees only the loopback interface. Network access is a per-folder setting, and environment variables that look like secrets are removed unless you specify otherwise.
  4. The local technical log - without file contents - is deleted automatically after seven days.

A shared core for Forge and Runtime

Forge and Runtime use a single device-core module: file rules, the fence, undo copies and confirmations.

4OS fence

Command restrictions are enforced by the operating system, not by our code - they apply regardless of what the command does and which processes it starts along the way.

COMMAND WRITE READ ONLY BLOCKED · 17 NETWORK localhost only WHAT THE COMMAND MAY ACCESS WRITE the folders you opened os.tmpdir() .npm .cache .cargo .m2 .gradle .bun … READ everything else on the disk BLOCKED .ssh .aws .azure .kube .gnupg .netrc .git-credentials .password-store .docker/config.json Chrome · Firefox · Brave profiles ENV secrets removed unless you keep them ONE COMMAND · OS FENCE ENFORCED BY macOS SEATBELT / LINUX BUBBLEWRAP INHERITED BY EVERY CHILD PROCESS
The reach of a single command. Writes only in open folders, the temporary directory and tool caches; the rest of the disk is read-only; credential locations are masked; the network is limited to loopback. Every child process inherits the fence.

We do not ask you to trust our code. We show what the system allows it to do.

0 listening ports5

The connection is always initiated by Runtime - there is no entry point from outside.

1 dependency6

in the production release. No native modules, a single file.

17 credential locations4

masked before every command (macOS and Linux).

Five guarantees

You can check three of them yourself, on your own computer.

Runtime does not open a port

The connection to the tenant is established by Runtime, never the other way around. Without a listening socket nobody can connect to Runtime from outside - neither from the internet nor from the local network. To verify: lsof -i -P | grep obsigen shows nothing in the LISTEN state.

The operating system enforces the fence

On macOS it is Seatbelt, on Linux bubblewrap. The restrictions apply to the command and to every process it starts.

Credentials are masked

The usual places for keys and passwords - SSH, cloud, the password manager - are masked regardless of the command. A directory appears empty; a file appears as /dev/null.

The file changes of every turn can be undone

A copy is made before every write, and each turn has its own manifest. obsigen-runtime undo restores files in reverse order and removes those that did not exist before. pause stops work at any moment, and audit shows the day's history - all locally.

Windows: Forge today

On Windows, file work is handled by Forge, with confirmations in the editor. Obsigen Runtime and an OS sandbox for Windows are in preparation.

5Runtime boundaries

Runtime is the only component of Obsigen with access to your disk, which is why we describe its boundaries precisely.

boundarywhat crosses itwhat remains on this side
Your disk → Runtimeonly the contents of shared foldersthe rest of the disk - Runtime cannot see it
Runtime → your tenantwhat the turn requires: file content, command output, search resultsthe folder is neither copied nor synced
Command → diskwrites in open folders, the temporary directory and tool cachesthe rest of the disk is read-only; credentials are invisible
Command → networkloopback only, by defaultnetwork access is a per-folder setting
Runtime → local logpaths, hashes, exit codes, step labelsfile contents and command output are not recorded
Runtime → GRIDnothing - no such connection existsRuntime connects only to your tenant

6Commands and platforms

Obsigen Runtime commands
 $ obsigen-runtime login            # authorize in the browser; one token per device
$ obsigen-runtime share ~/Reports  # folder shown in the app as “on my computer”
$ obsigen-runtime audit --today    # what Obsigen did on this computer today
$ obsigen-runtime undo             # undo the last turn
$ obsigen-runtime pause            # pause until resumed
  • consent in a native dialog on the device: Run / Skip / To terminal;
  • results saved in your Obsigen folder;
  • macOS available and Debian available - native consent dialogs (zenity on Debian); Windows in preparation - until then, Forge in VS Code does the work on Windows;
  • 0 listening ports5 - a test in the repository checks that no Runtime source file listens.

7What sets Forge apart

  • company documents and data in context, not just code: an ERP specification, a spreadsheet, a technical drawing;
  • visual check by the Obsigen Magnify module, plus verification;
  • company glossary - abbreviations such as WZ (goods issue note) and MPK (cost center), system names - picked up from conversations;
  • data on dedicated infrastructure, consent on the device;
  • usage in the app panel: model, tokens and time of every task.

Forge is an extension, not a fork of VS Code or a separate Electron app. It does not run in the background and is not a remote desktop - it connects only to your tenant.

Demo · 45 min

See Obsigen on your own example

We show Obsigen live, online, on a document you bring - with no confidential data. Then a quote and deployment on dedicated infrastructure.

Book a demo Let's talk

  1. step 1Demo · 45 minonline, on your example
  2. step 2A one-page quotewithin two business days
  3. step 3Deployment and team starta dedicated tenant and team accounts

Footnotes

  1. Obsigen Forge tests 2026-09-06 · typical Forge turn; folder guard and OS sandbox
  2. code review 2026-09-08 · TS/JS · Python · PHP · Lua · Bash · HTML - syntax check after every file write
  3. test reports 2026-09-06/07 · 2026-09-07 · Obsigen Forge
  4. Runtime 0.5.0 release §1 · 2026-09-23 · credential locations masked before every command (SSH, GPG, AWS, GCP, Azure, Kubernetes, password manager, .netrc, .git-credentials, Docker, browser profiles) - where the OS provides the fence
  5. Runtime automated test 2026-09-08 · Obsigen Runtime: automated test - no component listens on a port
  6. Runtime 0.5.0 release §2 · 2026-09-23 · external dependency in the production release; no native modules, one file