A versioned workspace for your whole company. Bring your own apps. Bring your own execution engines. Install the rest from the marketplace.
Apps are Nuxt apps that run in a sandboxed iframe, bound to file types by a manifest. They read and write nodes through the SDK — nothing else to wire up.
Opens common image formats inline, right inside the workspace.
Monaco-powered editing for JSON, YAML, Python, JavaScript and more.
Start from the application template, wire up @verentis/sdk, and ship a manifest. Any MIME type, any UI.
An engine is a container that runs a program against the workspace. The Python engine is production-ready — run scripts server-side in Docker, or instantly in the browser via Pyodide. A Node.js engine for JavaScript & TypeScript ships the same way. Verentis is engine-agnostic: give it a manifest and it orchestrates the rest.
# /// script # dependencies = ["requests"] # /// import requests from verentis import engine ctx = engine.context.input res = requests.get(ctx.parameters["url"]) engine.output.ok({ "status": res.status_code })
Every file is a node — branched, journaled, content-addressed and written idempotently. Your whole company's content behind one path-based API.
Drop in a manifest. Declare the MIME types an app opens, its capabilities and permissions — or the runtime and dependencies an engine needs.
Apps mount in a sandboxed iframe and talk to the host over postMessage. Engines run in-browser via Pyodide, or server-side in Docker. Identity is handled.
Apps and engines are the surface. Underneath, a small set of services turns external identity into versioned, governed content.
Versioned file & content system — branching, journals, sharding, idempotent writes.
Internal identity & tokens — roles, grants, OIDC discovery, JWKS, per-scope access.
Service registry & scope catalog — discovery, and the source of truth for permissions.
Tenant workspaces — created on activation and registered with Security.
Developers publish apps and engines to the marketplace. Businesses install them into a workspace in one click — versioned, permissioned, ready to run.
View images inline.
Monaco for code & data.
Browser & server runtime.
JavaScript & TypeScript runtime.
App or engine, your listing.
Start from a template and install @verentis/sdk. The useVerentis() composable auto-detects its environment — workspace iframe or standalone — so the same code runs in dev and in production.
api-version: verentis.io/v1
kind: Application
metadata:
name: smart-editor
display-name: Smart Editor
icon: lucide:file-pen
version: 0.1.0
spec:
entry: https://smart-editor.app
mime-types:
- pattern: "application/json"
mode: edit
capabilities: [files]
permissions:
- node.file.read
- node.file.write
sandbox:
allow-scripts: true
allow-same-origin: falseBring your apps. Bring your engines. Or start from the marketplace and make Verentis your own.