Vaktor v0.1

Vaktor

A universal SDUI client for admin panels. One JSON — three platforms. The server describes the role of an element, the client decides how it looks.

Vaktor doesn’t know in advance what your panel looks like. The server delivers a contract — a service manifest and pages assembled from semantic components. The app parses the contract and renders a native screen on iOS, iPadOS, and macOS using standard system components — with no client-side code for a specific service.

Five contract principles

  1. Semantics, not layout. The contract has no colors, fonts, paddings, or sizes — only roles. The single exception is the service’s brand tint.
  2. System components only. Each type renders with a standard view, and its appearance automatically follows HIG.
  3. Graceful degradation. An unknown type doesn’t break the page: in a release build it’s skipped, in dev it becomes a placeholder. Unknown fields are ignored.
  4. The server decides permissions. The client only renders what’s sent. There is no access logic on the client.
  5. Versioning. Every response carries a contract_version (semver). A major higher than supported → an “update the app” screen.

Documentation map

SectionAbout
ContractManifest, authorization, page, URL, data binding
ComponentsCatalog of all 11 types and their fields
Actionsnavigate, submit, grant/revoke, confirm, errors
PlatformsSummary table of iPhone / iPad / Mac rendering
This documentation describes Contract Specification v0.1. Check the pre-deploy rules before shipping a contract.