Vaktor v0.1

Vaktor

A universal SDUI client for admin panels. Your backend describes the interface as JSON; Vaktor renders it as a native screen on iOS, iPadOS, and macOS — with no client-side code per service.

One contract keeps watch over all your services. iOS 17+ · iPadOS 17+ · macOS 14+

Why Vaktor

Semantics, not layout

The server describes roles — status, metric, row. No colors, fonts, or paddings in the contract.

System components only

Every type renders with a native SwiftUI view, so the UI follows HIG automatically on each platform.

One JSON, three platforms

The same contract renders on iPhone, iPad, and Mac. A table becomes a list or a real table per device.

Graceful degradation

An unknown component type never breaks a page — old clients skip what they don’t understand.

Secure by default

Tokens live in an isolated vault (Keychain). Credentials go to the manifest origin only.

Server owns permissions

The client renders only what it receives. No access logic ships in the app.

How it works

1 · Manifest

The user adds a service by its manifest URL. It lists tabs, auth policy, and the brand tint.

2 · Pages

Each tab points to a page — a title plus a list of components grouped into sections.

3 · Actions

Buttons and rows carry actions: navigate, submit, confirm. Auth is just grant/revoke.

4 · Render

Vaktor renders everything with system views — no bespoke UI code for your panel.