Policies
Understand the allowlist-based capability model used by revenexx Apps on the platform.
Policies define what a revenexx App is allowed to do on the platform. By default, apps have no outbound network, event bus, or storage access. Every capability must be declared explicitly in manifest.json.
Policy model
Revenue Cloud uses an allowlist model. If a capability is not declared in policies, it is denied. Policy declarations are shown to customers during app installation.
Supported policies
| Policy name | Purpose | Required attributes |
|---|---|---|
outbound-access | Allow HTTP requests to external systems | host, path |
event-publish | Allow publishing events | events |
event-subscribe | Allow consuming events | events |
storage-read | Read files from storage buckets | bucket |
storage-write | Write files to storage buckets | bucket |
storage-read-write | Read and write storage buckets | bucket |
Example
JSON
{
"policies": [
{ "name": "outbound-access", "attrs": { "host": "{{tenant_domain}}", "path": "/api/erp/*" } },
{ "name": "event-publish", "attrs": { "events": ["order.created", "order.updated"] } },
{ "name": "storage-read", "attrs": { "bucket": "order-attachments" } }
]
}
Security notes
- Prefer narrow host and path patterns over broad wildcards.
- Publish and subscribe only to required event names.
- Scope storage access to explicit buckets whenever possible.
- Review policy changes during app upgrades.