Protect sensitive information in PowerPoint presentations. Redact PII from slides, speaker notes, charts, tables, SmartArt, and embedded objects while preserving design and formatting.
Complete presentation protection
Detect and redact PII in text boxes, shapes, and placeholders across all slides.
Process hidden speaker notes that often contain additional sensitive information.
Redact data in embedded charts, tables, and SmartArt graphics.
Extract and redact text from embedded images using OCR technology.
Process embedded Excel sheets, Word documents, and other OLE objects.
Maintain themes, animations, transitions, and visual design after redaction.
Simple integration, powerful results
Send your documents, text, or files through our secure API endpoint or web interface.
Our AI analyzes content to identify all sensitive information types with 99.7% accuracy.
Sensitive data is automatically redacted based on your configured compliance rules.
Receive your redacted content with full audit trail and compliance documentation.
Get started with just a few lines of code
import requests
api_key = "your_api_key"
url = "https://api.redactionapi.net/v1/redact"
data = {
"text": "John Smith's SSN is 123-45-6789",
"redaction_types": ["ssn", "person_name"],
"output_format": "redacted"
}
response = requests.post(url,
headers={"Authorization": f"Bearer {api_key}"},
json=data
)
print(response.json())
# Output: {"redacted_text": "[PERSON_NAME]'s SSN is [SSN_REDACTED]"}
const axios = require('axios');
const apiKey = 'your_api_key';
const url = 'https://api.redactionapi.net/v1/redact';
const data = {
text: "John Smith's SSN is 123-45-6789",
redaction_types: ["ssn", "person_name"],
output_format: "redacted"
};
axios.post(url, data, {
headers: { 'Authorization': `Bearer ${apiKey}` }
})
.then(response => {
console.log(response.data);
// Output: {"redacted_text": "[PERSON_NAME]'s SSN is [SSN_REDACTED]"}
});
curl -X POST https://api.redactionapi.net/v1/redact \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"text": "John Smith's SSN is 123-45-6789",
"redaction_types": ["ssn", "person_name"],
"output_format": "redacted"
}'
# Response:
# {"redacted_text": "[PERSON_NAME]'s SSN is [SSN_REDACTED]"}
PowerPoint presentations are ubiquitous in business communication—sales pitches include customer details, HR presentations contain employee information, financial decks display sensitive metrics, and training materials reference real cases. Unlike simpler document formats, presentations layer text across multiple elements: slide content, speaker notes, charts, tables, SmartArt, and embedded objects. Each element type requires specific handling to detect and redact PII effectively while preserving the visual design that makes presentations impactful.
Our PowerPoint processing comprehensively addresses every location where sensitive data might exist. We parse the complex PPTX structure to access all text-containing elements, apply PII detection uniformly, and maintain the presentation's visual integrity through redaction. The result is a protected presentation that looks and functions exactly like the original—minus the sensitive information.
PPTX files are ZIP archives containing XML documents:
presentation.pptx/
├── [Content_Types].xml
├── _rels/
├── ppt/
│ ├── presentation.xml
│ ├── slides/
│ │ ├── slide1.xml
│ │ ├── slide2.xml
│ │ └── ...
│ ├── slideMasters/
│ ├── slideLayouts/
│ ├── notesSlides/
│ ├── charts/
│ ├── embeddings/
│ ├── media/
│ └── theme/
└── docProps/
├── core.xml
└── app.xml
Processing Order:
Slide content exists in various containers:
Text Boxes and Shapes:
// Typical slide text structure
<p:sp> // Shape
<p:txBody> // Text body
<a:p> // Paragraph
<a:r> // Run
<a:rPr>...</a:rPr> // Run properties (formatting)
<a:t>Contact: [email protected]</a:t> // Text
</a:r>
</a:p>
</p:txBody>
</p:sp>
// After redaction
<a:t>Contact: [EMAIL]</a:t>
// Formatting (font, size, color) preserved
Placeholder Text:
Smart Text Features:
// Hyperlinked text
<a:r>
<a:rPr>
<a:hlinkClick r:id="rId1"/> // Link to [email protected]
</a:rPr>
<a:t>Contact John</a:t>
</a:r>
// Both display text and link URL are redacted
// Link can be removed or pointed to placeholder
Speaker notes often contain additional sensitive details:
// Notes slide structure
ppt/notesSlides/notesSlide1.xml
// Notes may contain:
- Extended talking points with real names
- Customer-specific details for customization
- Confidential context not shown to audience
- References to specific contracts or deals
// Processing
1. Extract text from notes slides
2. Apply same PII detection as slide content
3. Redact while preserving note formatting
4. Optionally: Remove notes entirely for external versions
Notes Configuration:
{
"processSpeakerNotes": true,
"notesBehavior": "redact", // or "remove" for external versions
"preserveNotesFormatting": true
}
Charts contain data that may include PII:
Embedded Charts:
// Chart data stored in embedded Excel workbook
ppt/embeddings/Microsoft_Excel_Worksheet1.xlsx
// Chart elements to process:
- Series names (might be customer names)
- Category labels (might be identifiers)
- Data labels on chart
- Chart title and axis titles
- Data table if displayed
// Processing approach:
1. Extract embedded workbook
2. Process as Excel file (all sheets)
3. Update chart cache in chart XML
4. Replace embedded workbook
Chart Configuration:
{
"processCharts": true,
"chartElements": {
"seriesNames": true,
"categoryLabels": true,
"dataLabels": true,
"titles": true,
"embeddedData": true
}
}
Tables frequently contain structured PII:
// PowerPoint table structure
<a:tbl>
<a:tr> // Row
<a:tc> // Cell
<a:txBody>
<a:p>
<a:r><a:t>Customer Name</a:t></a:r>
</a:p>
</a:txBody>
</a:tc>
<a:tc>
<a:txBody>
<a:p>
<a:r><a:t>[email protected]</a:t></a:r>
</a:p>
</a:txBody>
</a:tc>
</a:tr>
</a:tbl>
// Cell-by-cell processing
// Header row context helps classify data
// Formatting (borders, colors, merges) preserved
SmartArt contains text in diagram elements:
// SmartArt structure
ppt/diagrams/
├── data1.xml // Diagram data
├── drawing1.xml // Visual representation
├── colors1.xml // Color scheme
├── layout1.xml // Layout definition
└── quickStyle1.xml
// Text in SmartArt
<dgm:pt modelId="1">
<dgm:t>
<a:p>
<a:r><a:t>John Smith - CEO</a:t></a:r>
</a:p>
</dgm:t>
</dgm:pt>
// Organization charts often contain names/titles
// Process diagrams are usually safe
// Hierarchy diagrams may have names
Presentations often embed other documents:
OLE Objects:
// Embedded Excel worksheet
ppt/embeddings/Microsoft_Excel_Worksheet1.xlsx
// Embedded Word document
ppt/embeddings/Microsoft_Word_Document1.docx
// Embedded PDF (as image with OLE wrapper)
ppt/embeddings/oleObject1.bin
// Processing:
1. Identify embedded object type
2. Extract to temporary location
3. Process with appropriate handler
4. Replace embedded object
5. Update OLE object image preview
Linked Objects:
{
"linkedObjects": {
"processLinks": true,
"behavior": "process_source", // or "visible_only"
"breakLinksAfter": false
}
}
Images may contain text requiring redaction:
// Image locations
ppt/media/
├── image1.png // Screenshots
├── image2.jpeg // Photos
└── image3.emf // Vector graphics
// OCR processing for images
1. Extract images from media folder
2. Apply OCR to detect text
3. Identify PII in extracted text
4. Apply visual redaction (black boxes)
5. Replace original image
// Configuration
{
"processImages": true,
"imageOCR": {
"enabled": true,
"languages": ["en"],
"minConfidence": 0.7
},
"imageRedactionStyle": {
"method": "blackbox",
"color": "#000000"
}
}
Template elements may contain PII:
// Slide master content
ppt/slideMasters/slideMaster1.xml
// Elements that might have PII:
- Company name/logo (usually ok)
- Contact information in footer
- Presenter name in layout
- Template sample text
// Processing masters affects all slides using them
// Can selectively process masters or skip
Document properties contain sensitive information:
// Core properties
docProps/core.xml
- dc:creator (Author)
- cp:lastModifiedBy
- dc:title
- dc:subject
- cp:keywords
// Extended properties
docProps/app.xml
- Company
- Manager
- PresentationFormat
// Custom properties
docProps/custom.xml
- User-defined properties
// Redaction options
{
"metadata": {
"removeAuthor": true,
"removeLastModifiedBy": true,
"removeCompany": true,
"removeCustomProperties": true,
"preserveTitle": true
}
}
Comments often contain sensitive discussions:
// Comment structure
ppt/comments/comment1.xml
<p:cm authorId="0" dt="2024-01-15T10:30:00Z">
<p:text>
Check with John Smith before presenting
to Acme Corp - they have special pricing
</p:text>
</p:cm>
// Options:
{
"comments": {
"process": true, // Redact PII in comments
"remove": false, // Or remove all comments
"removeAuthors": true // Remove author attribution
}
}
Visual effects are preserved through redaction:
// Animation XML is separate from content
// Redacting text doesn't affect animation settings
// Preserved elements:
- Slide transitions
- Object entrance/exit animations
- Motion paths
- Animation timing and triggers
- Sound effects
- Morph transitions (PPTX 2019+)
// Text redaction maintains text box dimensions
// Animations targeting text boxes continue working
Handle protected presentations:
// Protection types:
1. Open password - Required to open file
2. Modify password - Required to edit
3. Mark as Final - Advisory, not enforced
// API configuration
{
"file_url": "https://example.com/protected.pptx",
"passwords": {
"open": "secretPassword123",
"modify": "editPassword456"
},
"outputProtection": {
"retainProtection": false,
"newOpenPassword": null,
"newModifyPassword": null
}
}
Support for Office 97-2003 format:
// PPT is binary format (CFBF container)
// Different internal structure than PPTX
// Processing approach:
1. Parse binary PPT structure
2. Extract text from records
3. Apply PII detection
4. Modify binary records
5. Preserve binary format (no conversion to PPTX)
// Supported PPT features:
- All text content
- Speaker notes
- Embedded objects
- Document properties
- Comments
// Some limitations vs PPTX:
- More complex binary parsing
- Less granular control
POST /v1/redact/file
Content-Type: multipart/form-data
{
"file": [binary PPTX data],
"filename": "sales_presentation.pptx",
"options": {
"redaction_types": ["pii", "financial"],
"processElements": {
"slides": true,
"speakerNotes": true,
"charts": true,
"tables": true,
"smartArt": true,
"embeddedObjects": true,
"images": true,
"comments": true,
"metadata": true
},
"preserveFormatting": true,
"outputFormat": "pptx"
}
}
Response:
{
"job_id": "job_abc123",
"status": "completed",
"download_url": "https://api.redactionapi.net/v1/download/xyz",
"statistics": {
"slides_processed": 24,
"elements_scanned": 156,
"detections": {
"email": 12,
"name": 8,
"phone": 3
},
"processing_time_ms": 2850
}
}
RedactionAPI has transformed our document processing workflow. We've reduced manual redaction time by 95% while achieving better accuracy than our previous manual process.
The API integration was seamless. Within a week, we had automated redaction running across all our customer support channels, ensuring GDPR compliance effortlessly.
We process over 50,000 legal documents monthly. RedactionAPI handles it all with incredible accuracy and speed. It's become an essential part of our legal tech stack.
The multi-language support is outstanding. We operate in 30 countries and RedactionAPI handles all our documents regardless of language with consistent accuracy.
Trusted by 500+ enterprises worldwide





We process all text-containing elements: slide content (text boxes, shapes, placeholders), speaker notes, chart data and labels, table cells, SmartArt text, embedded objects, comments, and metadata. Images with text are processed via OCR.
Yes, we support modern PPTX format (Office 2007+) and legacy PPT format (Office 97-2003). Files are processed natively without conversion between formats, preserving all features specific to each format.
Slide transitions and object animations are fully preserved. Redacting text within an animated element maintains the animation settings. Your presentation continues to function exactly as designed.
We process content in slide masters and layouts that might contain PII. Theme colors, fonts, and design elements remain intact. If PII exists in template elements, it's redacted across all slides using that layout.
Yes, embedded Excel workbooks powering charts are processed. Both the visible chart and the underlying data are redacted. For linked external files, we can process the link source or just the visible representation.
Provide the password in the API request to process protected presentations. We support both open password and modify password protection. Redacted files can retain protection or be saved without passwords.