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 'ringcentral-platform.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/ringcentral.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.
ringcentral.extensions.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://ringcentral-platform.invalid/restapi/v1.0/account/ACCOUNT_ID/extension- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-ringcentral-access-token- Data class
- pii
Read extensions.
List the account's extensions; this pack registers the collection read only — single-extension reads (GET .../extension/{extensionId}) are not registered. Extension records carry contact first and last names, email addresses and extension numbers, which are personal data, so the read is classified as pii (personal data).
ACCOUNT_ID is a placeholder the deployment binds before enabling.
ringcentral.messages.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://ringcentral-platform.invalid/restapi/v1.0/account/ACCOUNT_ID/extension/EXTENSION_ID/message-store- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-ringcentral-access-token- Data class
- pii
Read messages.
List messages in one extension's unified message store (SMS, fax, pager and voicemail metadata, with the documented filters); this pack registers the collection read only — single-message reads and attachment content (GET .../message-store/{messageId}/content/{attachmentId}) are not registered. Message metadata carries the parties' phone numbers and message subjects, so the read is classified as pii (personal data). By default the endpoint hides messages whose availability is Deleted or Purged; changing that default by query parameter is the caller's choice, not a restriction of this registration.
ACCOUNT_ID and EXTENSION_ID are placeholders the deployment binds before enabling.
ringcentral.call_log.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://ringcentral-platform.invalid/restapi/v1.0/account/ACCOUNT_ID/extension/EXTENSION_ID/call-log- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-ringcentral-access-token- Data class
- pii
Read call log.
List one extension's call log records, with the documented direction, type, view and date-range filters; this pack registers the extension-level collection read only — account-level call log across all extensions (GET .../account/{accountId}/call-log) and call recording content are not registered. Call log records carry phone numbers, names, locations, durations and per-leg call detail, so the read is classified as pii (personal data).
ACCOUNT_ID and EXTENSION_ID are placeholders the deployment binds before enabling.
ringcentral.sms.send v1.0.0R3
- Kind
- tool
- Actions
- create, send
- Endpoint
POST https://ringcentral-platform.invalid/restapi/v1.0/account/ACCOUNT_ID/extension/EXTENSION_ID/sms- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-ringcentral-access-token- Data class
- pii
Send SMS.
Send an SMS from one of the authenticated extension's numbers to one or more recipients. The body permits any destination numbers and message text; enforce further limits separately. RingCentral requires the from number to belong to the authenticated extension, or to be a company number assigned to it for SMS.
Phone numbers and message text are classified as pii (personal data). Registered as create and send at R3 because the operation creates and delivers a message that cannot be recalled.
On supported execution paths mediated by AAES Govern, send requires approval by an authorized person; this does not prevent calls through bypass or observation-only paths. Bind ACCOUNT_ID and EXTENSION_ID before enabling.
ringcentral.message.delete v1.0.0R3
- Kind
- tool
- Action
- delete
- Endpoint
DELETE https://ringcentral-platform.invalid/restapi/v1.0/account/ACCOUNT_ID/extension/EXTENSION_ID/message-store/MESSAGE_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-ringcentral-access-token- Data class
- pii
Delete message.
Delete a message from an extension's message store. RingCentral marks it Deleted and allows restoration for a limited period, five days by default. It then purges the content and later removes metadata.
Registered as delete at R3. The provider's temporary restoration path is separate from AAES approval classification and does not promise recovery in every deployment. On supported execution paths mediated by AAES Govern, delete requires approval by an authorized person; this does not prevent calls through bypass or observation-only paths.
Bind ACCOUNT_ID, EXTENSION_ID, and MESSAGE_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-ringcentral-access-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
A RingCentral OAuth access token, externally produced and renewed, held in the client's own secret manager. This reference defines ONE stored value and nothing else: the complete Authorization header value (scheme included), 'Bearer ' followed by the access token. The JWT assertion generated in the RingCentral Developer Console for the service extension, and the app's client ID and client secret, are NOT stored under this reference — they belong under separate credential references that only the deployment's custody job may resolve.
RingCentral documents an RFC 7523 OAuth flow: the custody job POSTs to /restapi/oauth/token with grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer, the JWT as the assertion, and a Basic Authorization header from the client credentials, receiving a bearer access token (documented example expiry about two hours) plus a refresh token (documented example expiry about seven days); it stores the resulting 'Bearer <token>' value under this reference and refreshes or re-exchanges before expiry.
The HTTP injector injects the stored value verbatim and performs no OAuth itself — there is no execution-time derivation option. Revocation, according to the reviewed documentation: JWT credentials do not expire unless configured to and can be revoked in the Developer Console by the owner or an administrator, but revoking the JWT stops only new token issuance — already-issued access tokens remain valid until they expire.
RingCentral additionally documents an OAuth revocation mechanism (POST /restapi/oauth/revoke, authenticated with the client credentials, naming the token) that terminates the entire authorization session, invalidating ALL active access and refresh tokens for that session; on suspected exposure the custody job should call it rather than rely on JWT revocation or expiry alone.
Least privilege: generate the JWT for a dedicated service extension, scope the app to the minimum these capabilities need (read extensions, read messages, read call log, SMS only if the send capability is enabled), and prefer account-level read scopes off unless account-wide visibility is reviewed.
Executor hygiene: the executor resolves only this reference, so the only RingCentral material it holds is the stored 'Bearer <token>' value. That 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. The JWT and the client secret never reach the executor; the custody job that holds them is subject to the same no-logging and no-crash-dump bar. A deployment that cannot meet that bar must not enable the pack.
Resources
ringcentral-account(api, pii):https://ringcentral-platform.invalid/restapi/v1.0
Technical package and review record
Complete provider requirements and exclusions
The endpoint host 'ringcentral-platform.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the RingCentral platform host (platform.ringcentral.com for production) before enabling, in every endpoint, in the resource locator and in every egress allowlist entry. The allowlist matches exactly, so endpoints and allowlist must be substituted together, and substitution is a required deployment step — the reserved host being allowlisted does not make an unsubstituted pack safe to enable.
This pack registers only operations the retrieved RingCentral documentation establishes: listing account extensions, reading an extension's message store, reading an extension's call log, sending SMS, and deleting a message from the message store.
ACCOUNT_ID, EXTENSION_ID and MESSAGE_ID in the endpoint paths are placeholders the deployment binds before enabling; the API also accepts the '~' shorthand for the account and extension of the authenticated user. RingCentral enforces the app's scopes and the authenticated extension's permissions on every call: SMS can be sent only from numbers owned by the authenticated extension (or company numbers whose SMS assignment points at that extension), and even a super admin cannot send SMS on behalf of other user extensions; the registration records the endpoint, not RingCentral's authorization decision.
The interactive API reference at developers.ringcentral.com was not machine-readable from the review environment (it refused non-browser clients), so the review was made against RingCentral's official documentation repository on GitHub, which the reference pages are built from — a documented source substitution, named in the review block.
Documented exclusions — this pack does not register: fax sending (POST .../fax — the same send-class risk as SMS, deliberately left out); company pager messaging; ring-out and the active call-control APIs (initiating, transferring, recording or dropping live calls is a real-time voice surface requiring its own review); call recording content and metadata access; presence and call-forwarding/answering-rule changes; phone number provisioning and emergency addresses; webhook subscriptions and event notifications; and account or extension administration (creating, modifying or deleting extensions).
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-10-22
6 sources, retrieved 2026-09-21
- https://github.com/ringcentral/ringcentral-api-docs/blob/main/docs/messaging/message-store/messaging.md (retrieved 2026-09-21)
- https://github.com/ringcentral/ringcentral-api-docs/blob/main/docs/authentication/jwt-flow.md (retrieved 2026-09-21)
- https://raw.githubusercontent.com/ringcentral/ringcentral-api-docs/main/docs/authentication/tokens.md (retrieved 2026-09-21)
- https://raw.githubusercontent.com/ringcentral/ringcentral-api-docs/main/docs/account/extensions.md (retrieved 2026-09-21)
- https://raw.githubusercontent.com/ringcentral/ringcentral-api-docs/main/docs/messaging/sms/sending-sms.md (retrieved 2026-09-21)
- https://raw.githubusercontent.com/ringcentral/ringcentral-api-docs/main/docs/voice/call-log/api.md (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: e5a0b2641b53c25796d437944596d159364864a37f5013c18466f4e3c910a360
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.