This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern
Before you enable this package
The endpoint host 'box-api.invalid' is a reserved .invalid placeholder that fails closed until you substitute the real host in both the endpoint URLs and the egress allowlist.
Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.
Capabilities (5)
Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/box.json and embeds a copy in the release binary.
Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.
On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.
Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.
box.folders.items.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://box-api.invalid/2.0/folders/FOLDER_ID/items- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-box-oauth-token- Data class
- pii
Read folder contents.
List the items in one folder as a collection read; the reviewed documentation shows marker and offset pagination and file entries that can include names, sizes, owners and any existing shared_link URLs — internal content metadata. FOLDER_ID is a placeholder the deployment binds before enabling. Folder item entries carry owner user identities, so the read is classified as pii (personal data).
box.files.metadata.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://box-api.invalid/2.0/files/FILE_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-box-oauth-token- Data class
- pii
Read file metadata.
Read one file's metadata object. The retrieved response example shows the object can carry the file's shared_link URL, expiring embed links, classification labels, tags and owner identities — sensitive metadata even though the file content is not returned. This capability reads metadata only; downloading file content (GET /2.0/files/{id}/content) is not registered by this pack. FILE_ID is a placeholder the deployment binds before enabling. The owner identities in the object are personal data, so the read is classified as pii (personal data).
box.files.delete v1.0.0R3
- Kind
- tool
- Action
- delete
- Endpoint
DELETE https://box-api.invalid/2.0/files/FILE_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-box-oauth-token- Data class
- internal
Delete files.
Delete one file; the reviewed documentation shows an empty response on success and an optional if-match header carrying the file's etag so the call fails with 412 if the file changed since it was observed. Delete is one of the designated actions requiring human approval.
On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths; even where the enterprise's trash settings allow later recovery, this pack makes no general-reversibility claim. FILE_ID is a placeholder the deployment binds before enabling.
box.folders.delete v1.0.0R3
- Kind
- tool
- Action
- delete
- Endpoint
DELETE https://box-api.invalid/2.0/folders/FOLDER_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-box-oauth-token- Data class
- internal
Delete folders.
Delete one folder. The retrieved documentation states the recursive query parameter deletes a non-empty folder and all of its content — a broad-impact delete registered at the minimum R3 tier; delete is one of the designated actions requiring human approval.
On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths. The registration fixes method and path but does not restrict the recursive query parameter: the deployment should require per-request human approval for recursive calls and review whether recursive=false-only is an estate-local restriction worth enforcing in policy. FOLDER_ID is a placeholder the deployment binds before enabling.
box.files.shared_link.create v1.0.0R3
- Kind
- tool
- Actions
- update, share
- Endpoint
PUT https://box-api.invalid/2.0/files/FILE_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-box-oauth-token- Data class
- internal
Update file details, move a file, or change its sharing link.
Create or update a file’s shared link, or change other file properties through the same general Update File operation, PUT /2.0/files/{id} (reference retrieved 2026-09-21). An open shared link yields a public URL and direct download_url. Once another party has obtained the information, changing the link cannot make that disclosure private again.
Request limits: this is not a link-only endpoint. Its unrestricted body can also change name, description, tags, lock state, or parent folder; changing the parent moves the file. The caller chooses link access (open, company, or collaborators) and permissions. Enforce intended limits through policy; prose about an intended use does not restrict the body.
Classification: update and share, minimum R3.
On supported execution paths mediated by AAES Govern, an authorized person must approve the irreversible action. This cannot stop observation-only or bypass calls.
Folder shared links are excluded; see the pack notes. Bind FILE_ID before enabling.
Credential reference
The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.
- Reference
secret-ref-box-oauth-token- Custody
- customer_vault
- Injection
- header (Authorization)
Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.
Complete credential requirements
An OAuth 2.0 access token for the customer's Box enterprise, held in the client's own secret manager. The stored material must be the complete Authorization header value: the scheme 'Bearer', one separating space, then the access token — 'Bearer <token>'. For the OAuth2 refresh flow, according to the reviewed guide, an external deployment process creates a Platform App in the Box Developer Console (OAuth 2.0 authentication method), copies its client_id and client_secret, drives the authorization redirect and user-consent flow, exchanges the returned authorization code at the token endpoint (POST https://api.box.com/oauth2/token with grant_type=authorization_code), and stores the resulting access-token header value under this reference.
The access token acts as the authorizing user and expires; the external process owns refresh (including any refresh token the grant returns) and renews the stored value before expiry — the injector injects the stored value verbatim and performs no OAuth itself. Token lifecycle from the retrieved token references (retrieved 2026-09-21): the refresh token is valid for 60 days, is single-use, and is rotated on every use — each refresh returns a new access token together with a new refresh token, so the external custody job must store the rotated pair every time or the chain breaks and the user must be re-authorized; and an access token can be revoked at any time by POSTing it (or the refresh token) with the app's client_id and client_secret to https://api.box.com/oauth2/revoke — the custody job should use that endpoint for explicit revocation on suspicion rather than relying on expiry.
The retrieved pages did not state the exact access-token lifetime or whether disabling the app in the Developer Console invalidates already-issued access tokens — confirm both against Box's token reference before enabling and treat disabling issuance as not necessarily invalidating already-issued tokens; an expired or revoked value fails closed.
Least privilege: configure the app with only the scopes these capabilities need, and note the retrieved guide's observation that the token is inherently tied to the authorizing user — authorize with a dedicated service account holding access only to the governed folders.
Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.
Resources
box-enterprise(api, pii):https://box-api.invalid/2.0
Technical package and review record
Complete provider requirements and exclusions
The endpoint host 'box-api.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the real Box API host before enabling, in every endpoint, in the resource locator and in every egress allowlist entry — the reviewed documentation names the API host https://api.box.com with the /2.0 path prefix, and the OAuth2 token endpoint shares that host, so one placeholder covers both. The allowlist matches exactly, so endpoints and allowlist must be substituted together, and substitution is a required deployment step. FOLDER_ID and FILE_ID in the endpoint paths are placeholders the deployment binds before enabling; the reviewed documentation notes the root folder of a Box account is always ID 0.
Documented exclusions: this pack does not register collaborations (inviting a collaborator grants another party access to content — a share effect needing its own review), file upload, new-version upload, file copy, folder creation and watermarking, trash operations including permanent purge of trashed items (unrecoverable), retention policies and legal holds, user and enterprise administration, and the As-User impersonation header the retrieved OAuth2 guide mentions. The shared-link capability is registered only for files; creating shared links on folders is a deliberate exclusion — a folder link exposes everything the folder contains now and later, a larger and less reviewable blast radius.
Approval classification: shared-link creation declares update and share at the minimum R3 tier — the reviewed documentation shows access 'open' yields a public URL with a direct download_url, and disclosed information cannot be made private again once the other party has it. Endpoint scope: the shared-link capability is the general Update File PUT, so the exclusions above do not cover file moves or file metadata writes — both are reachable through that registered capability's unrestricted body (a parent change moves the file; name, description, tags and lock are writable), and policy, not intent, must constrain the access level and the other writable fields.
Folder deletion registers delete at R3 and the reviewed documentation shows the recursive query parameter deletes a non-empty folder and all of its content — high blast radius; the deployment should require per-request human approval for any recursive call.
Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.
The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.
Review block
This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.
Review completed: 2026-09-23
9 sources, retrieved 2026-09-21
- https://developer.box.com/reference/get-folders-id-items/ (retrieved 2026-09-21)
- https://developer.box.com/reference/get-files-id/ (retrieved 2026-09-21)
- https://developer.box.com/reference/delete-files-id/ (retrieved 2026-09-21)
- https://developer.box.com/reference/delete-folders-id/ (retrieved 2026-09-21)
- https://developer.box.com/reference/put-files-id--add-shared-link/ (retrieved 2026-09-21)
- https://developer.box.com/guides/authentication/oauth2/without-sdk/ (retrieved 2026-09-21)
- https://developer.box.com/reference/put-files-id/ (retrieved 2026-09-21)
- https://developer.box.com/guides/authentication/tokens/refresh/ (retrieved 2026-09-21)
- https://developer.box.com/guides/authentication/tokens/revoke/ (retrieved 2026-09-21)
Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.
Release identity
SHA-256 of the pack file bytes: 00e899ce3092a6308de9cbba069c55e133a2486bed86021a0affe9a91e53ef05
Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.