i99dash docs

Glossary

One canonical definition for every i99dash term that appears across the docs.

When in doubt, this is the source of truth for terminology. Alphabetical.

admin-sdk

The privileged sibling of @i99dash/sdk. Lets a mini-app run device-side commands (pm.*, sys.*, diag.*, fs.*). Restricted distribution; gated by a cmdExec.* permission grant on the dev account. See Privileged mini-apps.

allow-list

The host-side configuration of which URL paths a mini-app's callApi() can reach. Paths not on the list return { success: false, error: { code: 'disallowed_path' } }. Configured at the host/ops level, not by the mini-app developer.

app id

The first field in manifest.json. URL-safe, globally unique, baked into pinned home-screen shortcuts on every user's device. Rotating it orphans every shortcut. Pick something you won't regret.

beta track

A separate catalog pointer that ships a build to a limited cohort of testers (≤ 25 per app) before promoting to production. See Beta testing.

bridge

The JavaScript object the host injects on window.__i99dashHost (and friends) when it loads a mini-app. The "bridge" is the only seam between your code and the outside world. Your code never touches it directly — MiniAppClient wraps it. See The bridge.

bundle

The tarball your CLI uploads to the CDN. Contains your built static files plus manifest.json. Identified by a SHA-256; immutable once uploaded.

callApi

The bridge method (and corresponding client.callApi() wrapper) for proxying HTTP requests through the host's allow-list. Read-only (GET) in v1. See Calling your backend.

cap (capability token)

In @i99dash/admin-sdk: a 30-day token the host stores after the user consents at install. The cap lives in the host's encrypted SQLite, never in the mini-app's bundle. Each privileged op the host attaches the right cap before forwarding to the device-side executor.

catalog

The backend table of published mini-apps. publish writes a new row keyed by (id, version); the host's store reads from it.

context

The snapshot the host returns from getContext(): userId, activeCarId (VIN), locale, isDark, appVersion, appId. Stable for the life of one app launch — read once, cache, don't poll.

device cert

A per-installation certificate the backend mints when a user installs your privileged mini-app. The host attaches it to admin operations; the executor checks it for revocation. Affects which apps a user sees in the catalog.

dev-server

@i99dash/sdk-dev-server, run via sdk-i99dash dev. Boots a local HTTP server on port 5173, injects a bridge shim that routes callApi to fixture files in mocks/, exposes a control panel at /_sdk/ui for live driving / VIN / locale / theme toggles. Same code paths as production.

fixture

A JSON file in mocks/ that the dev-server uses to fake a callApi response. Filename ends .GET.json; first match alphabetically wins.

flight test

The pre-flight checklist run during a beta cycle, before promoting to production. Verifies safety gate, context handling, network paths, subscription cleanup, and crash/recovery. See Flight test.

A git tree entry of mode 160000 that records a submodule's pinned commit SHA. The doc site reads vendor/sdk-i99dash's gitlink at build time to pin the SDK version it generates API pages from.

head-unit

The car's in-dash display where i99dash runs. Roughly an entry-level phone from 2018. Cold start matters — keep your bundle small.

host

Singular: the i99dash Flutter app running on the head-unit. It owns the WebView, the bridge, the catalog UI, and the safety gate. Sometimes also used to mean "the host process" or "the host repo" — context disambiguates.

llms.txt

The well-known path (/llms.txt) where AI tooling looks for a human- and machine-readable index of a doc site. We expose it + /llms-full.txt (every page concatenated) + /llms.mdx/<slug> (per-page markdown). Standard convention for coding agents.

manifest

manifest.json at the project root. The catalog row for your app: id, name (per locale), iconUrl, url, version, category, permissions, minHostVersion, safeWhileDriving. The CLI's validate command zod-checks it.

MCP

Model Context Protocol. The wire spec coding assistants speak to fetch external context. We expose a Streamable-HTTP MCP server at /api/mcp with five tools (list_sections, list_packages, list_symbols, search_docs, get_doc). See MCP server.

minHostVersion

A field in manifest.json that gates which host versions can install your mini-app. Bump it the moment you start using a new host feature; the catalog hides your app from users on older hosts instead of installing-then-crashing.

mini-app

A static HTML/JS/CSS bundle the i99dash host loads inside a sandboxed WebView. The thing this whole platform exists to ship. See What is a mini-app?.

mock / mocks

Synonym for fixture in dev-server context. The directory mocks/; the files mocks/*.json.

permissions

manifest.permissions[]. Strings the host enforces. car.status.read is implicit for v1 mini-apps; cmdExec.read and cmdExec.control are the privileged grants for @i99dash/admin-sdk apps. See Privileged mini-apps.

production track

The default catalog pointer. Every user sees the bundle on next launch. Counterpart to the beta track.

safeWhileDriving

A manifest boolean. When true, the host shows your app while the car is moving (≥ ~5 km/h). When false or unset, the host shows "not available while driving" instead. Choose carefully; affects the safety review.

sdk-cli

@i99dash/sdk-cli. The CLI invoked as sdk-i99dash <command> (or via pnpm dlx @i99dash/sdk-cli). Provides init, dev, validate, build, publish, login, logout, whoami, and the beta * subtree.

staleness

status.staleness in a CarStatus payload. One of 'fresh' (< 15 s), 'stale' (15–60 s), 'very_stale' (> 60 s). Independent of the connection-state signal — render both.

step-up

The fresh user prompt the host shows for tier-2 admin operations (sys.reboot, pm.install) at action time, even when install consent was previously granted. Privacy + safety belt-and-braces.

submodule

vendor/sdk-i99dash in the doc repo. A git submodule pinned to a specific SDK commit. The doc site builds API reference from this exact pinned source — bumps happen via PR (see bump-sdk-submodule.yml), keeping deploys reproducible.

tester

A user explicitly added to a mini-app's beta cohort via beta invite. Identified by Telegram username on the dev side, by internal user-id on the host side.

tier (admin-sdk)

A property of every CommandTemplate. Tier 1 = read-only ops (diag.tail_logs, pm.list_*); Tier 2 = writes/state changes (pm.disable_user, sys.reboot). Higher tiers gate more permissions.

track

The catalog has two tracks per app: production and beta. Each is a single-bundle pointer. publish --track beta lands on beta; beta promote-production copies beta → production.

VIN

Vehicle Identification Number. The activeCarId field in the context. PII in some jurisdictions — never render in plain text; mask all but the last 4 digits.

On this page