---
hip: 1329
title: Plugins — Dynamic Process and Host Control
author: Hanzo AI
type: Standards Track
category: Infrastructure
capability: plugins
status: Final
implementation-go: shipped
created: 2026-09-10
requires: HIP-0026, HIP-0106, HIP-0139
---

# HIP-1329: Plugins — Dynamic Process and Host Control

## Abstract

`/v1/plugins` is the canonical capability for plugins within the Hanzo Cloud platform.
Package plugin is what each host is running, and how to change it: enable, disable, reload, or pin a service to a version.
The implementation is `hanzoai/cloud` `apps/plugins` and `plugin/plugins` (HIP-0106, HIP-0139).
All operations are native, composable, and authenticated against Hanzo IAM (HIP-0026).

## Motivation

Before this specification, plugins operations lacked a unified canonical surface or were scattered
across disparate endpoints. Under HIP-0139 (§1), every cloud capability maps 1:1 with exactly
one plugin binary, one address prefix, one client class, and one authoritative specification.
This eliminates duplicate implementations and ensures strict physical isolation, predictable billing,
and orthogonal composability across the estate.

## Specification

The key words MUST, MUST NOT, and SHOULD are to be interpreted as in RFC 2119.

### §1 Addresses and Operations

The `plugins` capability answers exclusively under its assigned route prefixes:

| Method | Path | Summary |
|---|---|---|
| `GET` | `/v1/admin/plugins` | Reports what each host is actually running: every loaded plugin with its version, pid, ... |
| `POST` | `/v1/admin/plugins/{name}/disable` | Stops the plugin. |
| `POST` | `/v1/admin/plugins/{name}/enable` | Brings a stopped or disabled plugin back on the artifact it already has: the zero Plugi... |
| `POST` | `/v1/admin/plugins/{name}/reload` | Swaps a plugin for another build without dropping a request. |

### §2 Storage and Physical Isolation

Data is isolated physically per organization using `cloud.OrgDB`:
`{DataDir}/orgs/{org}/plugins.db`. Isolation is strictly enforced at the filesystem and OS level;
no cross-tenant queries are permitted. Where temporal or timeseries data is captured, postings
are signed and immutably appended.

### §3 Authentication and Principal

Every request reaching `/v1/plugins` MUST present a valid Hanzo IAM bearer token (HIP-0026, HIP-0111).
Anonymous requests are rejected at the edge gateway before invoking the plugin. The executing
principal is extracted from the token and bound to the request context.

## Security Considerations

1. **Physical Separation**: Each tenant retains an isolated SQLite database file.
2. **Replay & Channel Binding**: Direct dials and internal RPCs enforce channel binding over ZAP native transport.
3. **Audit Trails**: All state-modifying actions emit immutable audit events to the centralized event plane (HIP-1190).

## References

- HIP-0026: Identity & Access Management Standard
- HIP-0106: Hanzo Plugin Contract
- HIP-0139: Capability Standard
