Local development
Local development & testing
Iterate on your app quickly with a local HTTPS dev server, then switch to the in-product runtime.
You can develop an app entirely on your machine and only install the manifest when you're ready to test the in-product experience.
Serve your app over HTTPS
Verentis frames apps over HTTPS, so your dev server must serve HTTPS too. Point spec.entry at your dev
server while developing:
spec:
entry: https://localhost:5173
Use a trusted local certificate so the browser frames your dev server without warnings. The Verentis UI
apps use *.localtest.me certificates for exactly this reason.
Two ways to run while developing
Standalone with an API key
Run your app as a normal web page and authenticate with an API key exchanged for an access token. You get the full platform API surface and fast iteration, without installing anything.
Installed with injected tokens
Drop your *.app.yaml into a test workspace and open a matching file, or enable spec.launch and open
the app from workspace Home. Your app now runs in the real iframe and receives injected, scoped
tokens through the SDK bridge — the exact production path.
A tight loop
- Edit your app; your dev server hot-reloads.
- Open (or reopen) a matching file or standalone launch surface in the workspace to reload the iframe.
- Adjust the manifest to change which files you claim or which permissions you request, then re-detect.
Testing checklist
ResolutionConfirm your app opens for exactly the MIME types you intend — and doesn't shadow other apps.
PermissionsVerify the app works with only the scopes it requests. Remove anything unused.
SandboxTest with your real sandbox flags, not relaxed ones. If it works only with allow-same-origin,
understand why before shipping.
View vs. editCheck read-only view and writing edit flows independently.
Responsive host surfaceTest narrow drawer navigation and wide sidebar layouts. The iframe must respond to its container rather than assuming the full browser viewport.
When you're ready to ship
Host your app at a stable HTTPS URL, set spec.entry (and oauth.redirect-uris) to that URL, bump
metadata.version, and prepare to publish.
Next
Add server-side or in-browser code execution to your integration.