Revenue Growth Agent Documentation

📖 8 min read 📅 Last Updated: 6/19/2026 🏷️ TechArticle

Security & Privacy — RGA for HubSpot

For the CISO, CIO, and security team evaluating Revenue Growth Agent (RGA) for use with HubSpot. This page is the HubSpot-specific deep dive. For the platform-wide controls, retention, residency, and sub-processor list, see the Trust & Security Center. The Salesforce companion is Security & Privacy (Salesforce); both integrations share one credential-protection architecture.

RGA's two CRM integrations are built on the same credential-protection model: AES-256-GCM field-level encryption with key separation, per-tenant isolation enforced on every request, and credentials that are write-only at the API boundary. This page describes how that model applies to HubSpot specifically.


Security principles

  1. Tokens stay protected. HubSpot OAuth access and refresh tokens are encrypted at rest with AES-256-GCM before they touch the database. RGA staff cannot read a stored token from the database alone.
  2. Defense in depth via key separation. The ciphertext lives in RGA's database (Airtable); the master key lives in RGA's serverless platform environment (a separate system). Compromising either one alone yields nothing usable.
  3. Ownership verified before storage. RGA does not trust an inbound OAuth callback. It exchanges the authorization code for a token, asks HubSpot which portal that token belongs to, and binds the connection to that HubSpot-reported hub_id — never to a client-supplied value.
  4. Least privilege and tenant isolation. Every request is authenticated and scoped to the caller's organization. One customer's token cannot read or mutate another customer's HubSpot data.
  5. No training on your data. HubSpot data is processed to generate prep, discovery, and proposal outputs. It is never used to train AI models.

How RGA connects to HubSpot

RGA is a HubSpot Public App (OAuth, multi-customer distribution) built on HubSpot's Platform 2026.03 project framework. A customer installs it from HubSpot and grants a least-privilege set of scopes.

Install + authorization (OAuth)

Least-privilege scopes

RGA requests only what the integration uses today:

Deal and timeline scopes are intentionally not requested until deal-level features ship. Scope grants are reviewable in the app listing and at install time.


Token protection

Encrypted at rest with authenticated encryption

HubSpot access and refresh tokens are encrypted with AES-256-GCM (authenticated encryption, NIST SP 800-38D) before they are written to RGA's database — the same cipher and master key that protect Salesforce credentials.

Property Value Why it matters
Algorithm AES-256-GCM (NIST SP 800-38D) Confidentiality and integrity
Key length 256 bits Brute force is infeasible
Initialization vector 96 bits, random per encryption Same plaintext never yields the same ciphertext
Authentication tag 128 bits, verified on decrypt Any tampering fails decryption
Format Versioned (v1:<iv>:<ct>:<tag>) Future algorithm migration without breakage

Key separation across two trust boundaries

This is the control that matters most — identical to the Salesforce model.

Component Where it lives What you'd get by compromising it alone
Encrypted tokens (ciphertext) RGA's database (Airtable) Opaque ciphertext. Useless.
Master encryption key RGA's serverless platform environment (separate system) A key with no data to decrypt

An attacker would have to compromise both systems to recover a single plaintext token.

Write-only and per-tenant


How the in-CRM card talks to RGA — signed requests, no client-side tokens

HubSpot UI Extensions cannot hold OAuth tokens client-side, and that is by design. The in-CRM Meeting Prepper card calls RGA's backend through hubspot.fetch, HubSpot's documented pattern for marketplace apps, and HubSpot cryptographically signs every request:

This means:

It is the HubSpot parallel to the Salesforce "key separation across two trust boundaries" control: the request path and the credential store each prove themselves independently before any data moves.


Revocation and deletion


Data security


Privacy and compliance

The platform-wide policies apply uniformly; the HubSpot integration inherits them. See the Trust & Security Center for GDPR (RGA is a Data Processor; DPA available; data-subject requests honored within 30 days), SOC 2 status, US data residency with SCCs for non-US transfers, the sub-processor list, and the incident-response commitment (affected-customer notification within 72 hours of confirming a breach).

Note for the security reviewer: this page describes controls RGA runs today. For a security questionnaire, data-flow diagram, incident-response plan, or DPA, email support@revenuegrowthagent.com.

← Back to HubSpot Docs