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
Keep api.pandadoc.com and bind DOCUMENT_ID for document send operations.
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/pandadoc.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.
pandadoc.documents.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://api.pandadoc.com/public/v1/documents- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-pandadoc-api-credential- Data class
- pii
Read documents.
List and search documents in the workspace: document names, statuses, recipients and metadata, which identify named individuals, so the read is classified as pii (personal data). The registered path covers the collection read only — single-document reads (GET /public/v1/documents/{id}/details) are not registered by this pack.
pandadoc.templates.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://api.pandadoc.com/public/v1/templates- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-pandadoc-api-credential- Data class
- internal
Read templates.
List templates in the workspace: template names, tags and versioning, which are internal authoring material. The registered path covers the collection read only — single-template reads (template details) are not registered by this pack.
pandadoc.contacts.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://api.pandadoc.com/public/v1/contacts- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-pandadoc-api-credential- Data class
- pii
Read contacts.
List the contacts associated with the workspace: names, emails and company details of counterparties, which are personal data. The registered path covers the collection read only — single-contact reads (contact details) are not registered by this pack.
pandadoc.documents.create v1.0.0R2
- Kind
- tool
- Action
- create
- Endpoint
POST https://api.pandadoc.com/public/v1/documents- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-pandadoc-api-credential- Data class
- pii
Create documents.
Create a document from a template or an uploaded file, naming recipients and pre-filling fields — recipient names and emails are personal data. Declared create at the minimum R2 tier: creation brings a new document into existence, and PandaDoc documents that a created document remains in document.uploaded then document.draft status and is not delivered to anyone until the separate send endpoint is called, so creation alone is not a send.
pandadoc.documents.send v1.0.0R3
- Kind
- tool
- Action
- send
- Endpoint
POST https://api.pandadoc.com/public/v1/documents/DOCUMENT_ID/send- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-pandadoc-api-credential- Data class
- pii
Send documents.
Send an existing draft document to its recipients. This operation sends a document that was created earlier (by this pack's create capability or otherwise); it does not create another document, so the declared action is send alone, at the minimum R3 tier.
PandaDoc documents that the send emails each recipient a link to view and sign the document (unless the silent parameter suppresses notifications for an alternative delivery channel), so the documented effect is transmission outside AAES's control — send is one of the designated actions requiring human approval and a sent document cannot be recalled after delivery.
PandaDoc documents that only a document in document.draft status can be sent. DOCUMENT_ID is a placeholder the deployment binds to a concrete document 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-pandadoc-api-credential- 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
A PandaDoc OAuth 2.0 access token, 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 <access_token>'. PandaDoc documents OAuth 2.0 as the recommended authentication method for all new integrations and the 'API-Key' header as a legacy method maintained for backwards compatibility with existing integrations.
This pack registers only the OAuth credential: the official documentation retrieved for this review does not establish the API key's issuance, expiry or revocation contract, so the API-key option was removed rather than registered on an unresolved custody model — a deployment that wants the legacy key must complete that review itself. customer_vault is the only generally-supported production custody model here — identity_federation and customer_broker are refused at startup and inline is lab-only.
Token lifecycle, per PandaDoc's Create/Refresh Access Token reference: the authorization code is one-time-use; the access token's expires_in is 31,535,999 seconds (one year) as currently documented — read expires_in rather than hard-coding a duration — and an expired token returns 401; the stored refresh_token is then exchanged for a new access token at POST /oauth2/access_token with grant_type=refresh_token.
The client secret stays with the external process, which must own minting and refresh and write the fresh header value into the vault — the executor injects the stored value verbatim and performs no token lifecycle itself, and a stale value fails closed.
The retrieved reference documents no token-revocation endpoint and no refresh-token rotation or lifetime semantics, so the completed custody review documents revocation and refresh-token expiry as unresolved vendor-side properties: the cut-off path is an account-side administrative action the deployment must confirm with PandaDoc, and this pack makes no stronger claim.
Least privilege: PandaDoc documents two scopes, 'read' (view templates and document details) and 'write' (create, send, delete and download documents), and documents 'read+write' as deprecated in favor of 'read write'. This pack needs 'read write' when the create and send capabilities are enabled — note that 'write' also authorizes document deletion, which this pack excludes; that residual breadth is a documented trade-off of the vendor's scope model, not an oversight.
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
pandadoc-documents(api, pii):https://api.pandadoc.com/public/v1/documentspandadoc-templates(api, internal):https://api.pandadoc.com/public/v1/templatespandadoc-contacts(api, pii):https://api.pandadoc.com/public/v1/contacts
Technical package and review record
Complete provider requirements and exclusions
Every capability in this pack targets PandaDoc's real shared API host api.pandadoc.com, so no host substitution is required; the only placeholder is DOCUMENT_ID in the send path, an UPPERCASE path segment the deployment binds to a concrete document before enabling. This pack registers only endpoints verified against the official PandaDoc API reference at developers.pandadoc.com: listing documents, listing templates, listing contacts, creating a document, and sending a document.
All reads are collection reads only — single-record paths (document details, template details, contact details) are not registered. Consequential effects: PandaDoc documents that sending a document emails the recipients a link to view and sign it, so document send is declared send at the minimum R3 tier — send is one of the designated actions requiring human approval, a sent document cannot be recalled after delivery.
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. Document creation is declared create at the minimum R2 tier: it brings a new document into existence but does not itself notify recipients — PandaDoc documents that a created document sits in document.uploaded and then document.draft status until a separate send call.
Documented exclusions, framed as what this pack does not register: document update and document status change (PATCH, including voiding a sent document), document delete and bulk delete, document download and export, document recipient/field/section/attachment management, manual reminders (a further send surface), document ownership update and transfer-all-ownership (a transfer effect), template creation/update/duplication/deletion, content library items, forms, contact create/update/delete, catalog items and quotes, notary requests, webhook subscriptions, workspace/user/member administration, and API-key creation.
Authentication: PandaDoc documents two methods, an Authorization: 'API-Key <key>' header (documented as legacy, maintained for backwards compatibility) and OAuth 2.0 bearer tokens (documented as recommended for all new integrations); see the credential note for what the stored value must be. This pack registers the OAuth method only: the reviewed documentation does not establish the legacy API key's issuance, expiry or revocation contract, so that credential option was removed (see the credential note).
Credential review completed on 2026-09-21 for an OAuth access token held in the customer's vault and refreshed by an external process. The requirements and limits are below.
Issuance authority and delegation: tokens are minted by PandaDoc's OAuth server through the authorization-code flow — the authorization code is one-time-use — and PandaDoc documents OAuth 2.0 as the recommended authentication method for all new integrations, with the 'API-Key' header a legacy method whose issuance, expiry and revocation contract the reviewed documentation does not establish.
Scope: PandaDoc documents two scopes, 'read' (view templates and document details) and 'write' (create, send, delete and download documents), with 'read+write' deprecated in favor of 'read write'; this pack needs 'read write' when the create and send capabilities are enabled, and 'write' also authorizes document deletion, which this pack excludes — a limitation of the vendor's scope model.
Audience: no audience mechanism is documented — the bearer value authorizes against api.pandadoc.com, and audience binding beyond that is not established. TTL: the access token's expires_in is 31,535,999 seconds (one year) as currently documented — read expires_in rather than hard-coding a duration — and an expired token returns 401.
Refresh ownership: the client secret stays with the external process, which owns minting and refresh (the stored refresh_token is exchanged at POST /oauth2/access_token with grant_type=refresh_token) and writes the fresh header value into the vault; the executor injects the stored value verbatim and performs no token lifecycle itself, and a stale value fails closed.
Revocation: the retrieved reference documents no token-revocation endpoint and no refresh-token rotation or lifetime semantics — the completed review documents this gap: the cut-off path is an account-side administrative action the deployment must confirm with PandaDoc, and this pack makes no stronger claim.
Executor access and replay/exposure: the executor reads only the vault reference; the token is a bearer credential replayable for up to its documented one-year TTL with no vendor revocation endpoint — so vault-only storage and the executor hygiene bar are the controlling mitigations.
Alternate access paths: the PandaDoc web app and any legacy API-Key integrations retain access outside this pack, and ending this integration's access closes only this path. The credential review is complete. Assign accountable owners before deployment.
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-22
8 sources, retrieved 2026-09-21
- https://developers.pandadoc.com/reference/list-documents (retrieved 2026-09-21)
- https://developers.pandadoc.com/reference/list-templates (retrieved 2026-09-21)
- https://developers.pandadoc.com/reference/list-contacts (retrieved 2026-09-21)
- https://developers.pandadoc.com/reference/create-document (retrieved 2026-09-21)
- https://developers.pandadoc.com/reference/send-document (retrieved 2026-09-21)
- https://developers.pandadoc.com/docs/send-document (retrieved 2026-09-21)
- https://developers.pandadoc.com/reference/authentication (retrieved 2026-09-21)
- https://developers.pandadoc.com/reference/access-token (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: c17e9e029de95477b941329eb473997d0119acf0e51220616b0a8be53c7e1062
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.