# SDK documentation and capability index

> Find the SDK setup guides and individual references for all 20 licensed Chrovia kernel capabilities.

Source: https://console.getchrovia.com/en/docs/sdk-capabilities

Start with the integration guides, then choose the capabilities your application needs.

## Integration guides

| Guide | What you will do |
| --- | --- |
| [Developer quickstart](https://console.getchrovia.com/en/docs/sdk-getting-started) | Launch an isolated instance and call an API from your first plugin |
| [Linux font installation](https://console.getchrovia.com/en/docs/sdk-linux-fonts) | Download and install Windows or macOS fonts for Linux headless crawlers |
| [Trial installation](https://console.getchrovia.com/en/docs/trial-license) | Download a browser and install an issued trial License |
| [License lifecycle](https://console.getchrovia.com/en/docs/sdk-license) | Choose capabilities, install, inspect, replace, and understand revocation |
| [Leases](https://console.getchrovia.com/en/docs/sdk-leases) | Keep online authorization working through Infra and diagnose renewal |
| [Extended Preferences](https://console.getchrovia.com/en/docs/sdk-extended-preferences) | Prepare EP files, read/write application data, and set supported Profile preferences |
| [Provision directory](https://console.getchrovia.com/en/docs/sdk-provision) | Package installation-wide plugins, defaults, metadata, and rules |
| [Built-in plugins](https://console.getchrovia.com/en/docs/sdk-plugins) | Install, develop, debug, update, and remove plugins |
| [JavaScript API overview](https://console.getchrovia.com/en/docs/sdk-javascript-api) | Choose an execution context and find the correct API domain |
| [Commercial billing](https://console.getchrovia.com/en/docs/commercial-license-billing) | Understand License pricing and lease quota accounting |

## Every licensed capability

The current kernel and Console catalog expose these **20 capabilities**. Names below are exact License entitlement keys. A License grants them; adding similarly named EP fields does not.

| Capability guide | Entitlement | Configuration or API |
| --- | --- | --- |
| [Automation](https://console.getchrovia.com/en/docs/sdk-automation) | `automation` | Window-only `chrovia.automation` |
| [Declarative Net Request](https://console.getchrovia.com/en/docs/sdk-declarative-net-request) | `declarativeNetRequest` | EP fixed rules and Provision `dnr_rules.json` |
| [Disable DevTools](https://console.getchrovia.com/en/docs/sdk-disable-devtools) | `disableDevTools` | EP `internal.disable_devtools` |
| [Extended Preferences](https://console.getchrovia.com/en/docs/sdk-extended-preferences) | `extendedPrefs` | `chrovia.prefs` and allowlisted `internal.profile_prefs` |
| Fingerprint override | `fingerprintOverride` | EP `internal.fingerprint_override` |
| [Injected credentials](https://console.getchrovia.com/en/docs/sdk-injected-credentials) | `injectedCredentials` | EP `internal.injected_credentials` |
| [Instance appearance](https://console.getchrovia.com/en/docs/sdk-instance-appearance) | `instanceAppearance` | EP `internal.instance_appearance` |
| [Instance metadata](https://console.getchrovia.com/en/docs/sdk-instance-metadata) | `instanceMetadata` | `chrovia.instanceMetadata` and EP public fields |
| [Messaging](https://console.getchrovia.com/en/docs/sdk-messaging) | `messaging` | `chrovia.messaging` and optional startup coordination |
| [Native dialogs](https://console.getchrovia.com/en/docs/sdk-native-dialog) | `nativeDialog` | `chrovia.ui` |
| [Navigation redirect](https://console.getchrovia.com/en/docs/sdk-navigation-redirect) | `navigationRedirect` | EP `internal.navigation_redirect` |
| [Network interception](https://console.getchrovia.com/en/docs/sdk-network-intercept) | `networkIntercept` | `chrovia.network` |
| [Password reveal block](https://console.getchrovia.com/en/docs/sdk-password-reveal-block) | `passwordRevealBlock` | EP `internal.password_reveal_block` |
| [Saved-password store](https://console.getchrovia.com/en/docs/sdk-passwords) | `passwords` | Provision Service Worker-only `chrovia.passwords` |
| [Process management](https://console.getchrovia.com/en/docs/sdk-process-management) | `processManagement` | `chrovia.process.exit()` |
| [Signed EP](https://console.getchrovia.com/en/docs/sdk-signed-extended-prefs) | `signedExtendedPrefs` | Required EP signature verification |
| [Software authenticator](https://console.getchrovia.com/en/docs/sdk-software-authenticator) | `softwareAuthenticator` | EP software WebAuthn credentials and save/counter messages |
| [Supervisor process](https://console.getchrovia.com/en/docs/sdk-supervisor-process) | `supervisorProcess` | Supervisor PID/presence-file launch switches and EP behavior |
| [System proxy override](https://console.getchrovia.com/en/docs/sdk-system-proxy-override) | `systemProxyOverride` | EP `internal.system_proxy_override` |
| [Unrestricted API](https://console.getchrovia.com/en/docs/sdk-unrestricted-api) | `unrestrictedApi` | Broader JS exposure, not additional capability grants |

## How to use the examples

- Merge EP examples into one `internal` object. If signed EP is required, obtain a complete [signed configuration](https://console.getchrovia.com/en/docs/sdk-signed-extended-prefs) before launching; placeholders are not valid.
- JavaScript examples run in a Provision Service Worker unless marked otherwise.
- Configure Chrome extension permissions separately from License entitlements.
- Configuration-only features need their listed entitlements. Using `chrovia.prefs` additionally requires `extendedPrefs`.
