> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evox.wraithesports.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Terminology

> Core concepts used in evoX plugin development.

Core terms used in the evoX SDK documentation. These concepts are used consistently in both the app and the plugin protocol.

## Core concepts

* **Action**: A unit of behavior provided by a plugin that can be assigned to a key or dial. Defined in the manifest in the form `core.*` / `integration.*` / `plugin.<pluginId>.<actionId>`.
* **Binding**: The concrete instance of an action on a specific key/dial. When the user assigns an action to a key, a binding is created.
* **`bindingInstanceId`**: The context identity of a single binding instance. Image/settings calls are made with this context and are valid only for that instance; it becomes invalid after `action.willDisappear`.
* **Context**: The binding information an event belongs to; carries `actionId` and `bindingInstanceId`.
* **Provider**: A stable identity stating which source a binding comes from (`{kind:'plugin', pluginId, actionId}`). In profile persistence the provider is authoritative instead of the title/path.

## Security and authorization

* **Capability**: A host-controlled permission a plugin can request (e.g. `key.display`, `network.fetch`, `secret.manage`). A call that is not declared and granted returns `CAPABILITY_DENIED`. See [Capability APIs](/en/sdk/capabilities).
* **Trust tier**: The runtime and trust boundary of a plugin — T0 (data-only `.evoxpack`), T1 (trusted local Node), T2 (default-deny sandbox Worker), T3 (special review). See [Trust tiers](/en/sdk/trust-tiers).
* **Host**: The trusted party that establishes the plugin session, assigns identity/capabilities/limits and validates all RPCs. It performs the handshake with `host.hello`.
* **Credential reference**: An opaque reference used instead of a raw token (`{kind:'secret',name}` or `{kind:'oauth',provider}`). The host decrypts the value from its own encrypted vault; the raw token never returns to the plugin.

## Packages and data

* **`.evoxpack`**: evoX's canonical local/Market package format.
* **`action_pack`**: A package type that carries only data; it contains no executable JS/native/script.
* **Manifest**: The `manifest.json` that defines a plugin (identity, runtime, actions, capability requests). See [Plugin manifest](/en/sdk/manifest).
* **Settings**: Persistent setting data belonging to a binding (or plugin-wide). Managed with `settings.get`/`settings.patch`; when the user changes a setting in the interface it is reported with `action.settingsChanged`, and the plugin's own write is not echoed back to it.
* **Storage**: A plugin-private key-value store with a bounded quota (`storage.private` capability).

## App and device

* **Profile**: The canonical EvoxProfile manifest that holds the user's key/page layout. Assignments persist to the real profile.
* **Page**: A key layout layer inside a profile.
* **Device**: The connected physical hardware. Reported with `device.connected`/`device.disconnected` events.
* **Key / dial (knob)**: The pressable key and rotatable/pressable dial control on the device; they produce the `action.keyDown`/`keyUp` and `action.dialDown`/`dialUp`/`dialRotate` events.
* **Market**: The catalog that shows only approved evoX-native products. Public web upload/moderation carries no authority; the API remains server-authoritative.

## Related pages

* [Lifecycle and events](/en/sdk/lifecycle)
* [Events and host-RPC reference](/en/sdk/events-reference)
* [Error codes](/en/sdk/errors)
