Manifest Reference
Complete reference for manifest.json fields.
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
id | string | yes | Unique identifier. Lowercase alphanumeric + hyphens only. | "my-xtension" |
name | string | yes | Human-readable display name. | "My Xtension" |
version | string | yes | Semver version string. | "1.0.0" |
description | string | yes | One-line summary, max 200 characters. | "Finds PII in responses." |
author | string | yes | Your name or GitHub username. | "your-username" |
githubUrl | string | no | URL to the public source repository. Required for community submissions. | "https://github.com/user/repo" |
entrypoint | string | yes | Relative path to the bundled JS module. | "dist/index.js" |
permissions | string[] | yes | Array of permission strings the Xtension requires. | ["proxy.read", "ui.tab"] |
tier | string | yes | Minimum plan required. "free" or "pro". | "free" |
minVaastVersion | string | no | Minimum VAAST version this Xtension supports. | "1.0.0" |
downloadUrl | string | no | Direct download URL for the bundle (set by registry on publish). | — |
checksum | string | no | SHA-256 checksum of the bundle. | — |
uiType | string | no | UI registration type: "tab", "panel", or "none". Default: "none". | "tab" |
Permission strings
| Permission | Description |
|---|---|
proxy.read | Read captured proxy traffic |
proxy.write | Modify proxy behavior |
scanner.read | Read existing scan findings |
scanner.write | Add findings to scans |
logger.read | Read log entries |
ui.tab | Register a sidebar tab |
ui.panel | Register a floating panel |
session.read | Read session metadata |
http.fetch | Make outbound HTTP requests |
id format
Must match: ^[a-z0-9-]+$
Official Sentrinels use the prefix sentrinel- (e.g. sentrinel-crimson-hunter). Community Xtensions should not use this prefix.