pub struct Policy {
pub triggerables: Option<HashMap<String, Value>>,
pub triggerables_v2: Option<HashMap<String, Value>>,
pub s3_inputs: Option<Vec<Value>>,
pub allowed_s3_keys: Option<Vec<PolicyAllowedS3KeysInner>>,
pub execution_mode: Option<ExecutionMode>,
pub on_behalf_of: Option<String>,
pub on_behalf_of_email: Option<String>,
pub sandbox: Option<bool>,
pub frontend_sdk_scopes: Option<Vec<String>>,
}Fields§
§triggerables: Option<HashMap<String, Value>>§triggerables_v2: Option<HashMap<String, Value>>§s3_inputs: Option<Vec<Value>>§allowed_s3_keys: Option<Vec<PolicyAllowedS3KeysInner>>§execution_mode: Option<ExecutionMode>§on_behalf_of: Option<String>§on_behalf_of_email: Option<String>§sandbox: Option<bool>Publisher opt-in to app sandbox isolation (alpha). When true the app is isolated from each viewer’s Windmill session. When false/absent the app runs same-origin with the viewer’s full session (the default, pre-isolation behavior).
frontend_sdk_scopes: Option<Vec<String>>Raw apps: author-declared scopes for the frontend SDK token. Takes effect only when sandbox is also true — an unsandboxed bundle runs with the viewer’s own session, so no token is advertised or minted for it and this list stays inert. On a sandboxed app a non-empty list lets viewers mint (after consenting) a short-lived token carrying their own identity restricted to these scopes, handed to the app bundle so windmill-client calls run as the viewer. Must be a subset of the server’s curated allowlist (jobs:run, jobs:read, users:read, resources:read, variables:read).