| name | gamma-data-handling |
| description | Handle data privacy, retention, and compliance for Gamma integrations.
Use when implementing GDPR compliance, data retention policies,
or managing user data within Gamma workflows.
Trigger with phrases like "gamma data", "gamma privacy",
"gamma GDPR", "gamma data retention", "gamma compliance".
|
| allowed-tools | Read, Write, Edit |
| version | 1.13.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","gamma","workflow","compliance"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Gamma Data Handling
Overview
Data handling, privacy controls, and compliance for Gamma API integrations. Gamma processes user-submitted content through AI to generate presentations -- understand what data flows where and how to handle PII, retention, and GDPR requirements.
Prerequisites
- Understanding of data privacy regulations (GDPR, CCPA)
- Completed
gamma-install-auth setup
- Data classification policies defined
Data Flow Map
User Input (content, prompts)
│
▼
┌──────────────┐
│ Your App │ ← PII may be in content (names, company data)
│ (API key) │
└──────┬───────┘
│ POST /v1.0/generations
▼
┌──────────────┐
│ Gamma API │ ← Content processed by AI
│ (gamma.app) │ ← Images generated
└──────┬───────┘
│ gammaUrl + exportUrl
▼
┌──────────────┐
│ Generated │ ← Presentation stored in Gamma workspace
│ Content │ ← Export files (PDF/PPTX/PNG) temporary
└──────────────┘
Data Classification
| Data Type | Classification | Where Stored | Retention |
|---|
| API key | Secret | Your env vars | Active use only |
| Content/prompts | May contain PII | Gamma servers (during generation) | Gamma's policy |
| Generated gammas | User data | Gamma workspace | User-controlled |
| Export files (PDF/PPTX) | User data | Temporary URLs | Download promptly, URLs expire |
| User prompts in logs | PII risk | Your infrastructure | Your policy (sanitize!) |
| Credit usage | Billing data | Gamma | Per Gamma ToS |
Instructions
Step 1: Sanitize Content Before Sending
interface SanitizeOptions {
removeEmails: boolean;
removePhones: boolean;
maskNames: ;
}
(): {
sanitized = content;
(opts.) {
sanitized = sanitized.(, );
}
(opts.) {
sanitized = sanitized.(, );
}
(opts.) {
}
sanitized;
}
safeContent = (userContent, {
: ,
: ,
: ,
});
gamma.({
: safeContent,
: ,
});