Skip to content

Build an app on Sovereign ​

In the user interface it is an app. In the architecture and source code it is delivered as a plugin with a manifest and SDK boundary.

Start with the workflow ​

Define the user problem before choosing platform capabilities. A focused plugin should own its domain while using shared runtime services through supported contracts.

Reuse platform foundations ​

Available contracts include authentication context, app-scoped database access, the workspace shell, and the shared design system. Other capabilities have their own maturity and compatibility requirements; check the relevant documentation instead of importing runtime internals.

Follow the plugin path ​

  1. Read the plugin development guide.
  2. Define the plugin manifest and routes.
  3. Use @sovereignfs/sdk for runtime capabilities.
  4. Use @sovereignfs/ui for reusable interface components and tokens.
  5. Keep user-scoped data tenant-aware and plugin tables slug-prefixed.
  6. Test the plugin boundary, database behavior, UI, and access rules.
  7. Validate compatibility before distribution or installation.

Architectural rule ​

Plugins must not import from runtime internals. The SDK is the supported boundary, and capabilities that are not exposed there are not available to a plugin merely because their host implementation exists.

Open the full developer documentation

Open source under AGPL-3.0. Each Sovereign instance is independently operated.