Rewind Reels Legalhello@purposeforce.org

ISV Security Addendum

Last Updated: March 1, 2026

This ISV Security Addendum documents the security architecture, controls, and practices implemented by PurposeForce for the Rewind Reels for Salesforce managed package and associated backend service. This document is intended for Salesforce AppExchange security review and customer security assessments.

1. Architecture Overview

1.1 Component Summary

Rewind Reels consists of two primary components:

1.2 Data Flow

Salesforce Org [Apex Queueable: query CRM data, POST to backend]
    
Rewind Backend (Vercel) [Validate API key + HMAC token]
    
Anthropic Claude API [Generate narration script + theme from CRM data]
    
Rewind Backend [Store narration JSON + theme on Rewind_Video__c via SF REST API]
    
Public Player (browser) [Fetch JSON, render animated HTML presentation client-side]

2. Authentication and Authorization

2.1 API Key Authentication

2.2 HMAC Token Verification

2.3 Callback Authentication

2.4 Permission Sets

Permission SetAccess LevelCapabilities
Rewind_AdminFullConfigure settings, generate videos, manage license, view analytics
Rewind_UserStandardGenerate videos, view own videos, share videos
Rewind_ViewerRead-onlyView and share videos only

3. Encryption

3.1 In Transit

3.2 At Rest

4. CRUD/FLS Enforcement

4.1 Security.stripInaccessible

All Apex code that reads or writes sObject data uses Security.stripInaccessible() to enforce field-level security. This is the AppExchange-recommended approach over WITH SECURITY_ENFORCED in SOQL queries, as it allows graceful handling of inaccessible fields without throwing exceptions.

4.2 Exception: Callback Controller

The RewindCallbackController class uses without sharing to process REST callbacks from the backend service. This is required because:

5. Code Security

5.1 SOQL Injection Prevention

5.2 Cross-Site Scripting (XSS) Prevention

5.3 Error Handling

5.4 Apex Variable Naming

6. Sharing Model

ClassSharing ModeJustification
RewindCallbackControllerwithout sharingREST callback from backend — no user context; authenticated via API key
All other Apex classeswith sharing (default)Enforces org sharing rules for all user-initiated operations

7. Rate Limiting and Abuse Prevention

8. Data Handling

8.1 Data Minimization

8.2 Data Retention

8.3 Data Isolation

9. Third-Party Dependencies

ServicePurposeSecurity Posture
AWS (legacy S3 only)Video rendering and storageSOC 2 Type II, ISO 27001, FedRAMP
Anthropic (Claude)AI narration generationSOC 2 Type II; data not used for training
StripePayment processingPCI DSS Level 1, SOC 2 Type II
VercelBackend hostingSOC 2 Type II, ISO 27001

10. Vulnerability Management

11. Incident Response

11.1 Detection

11.2 Response Process

  1. Identification: Confirm the nature and scope of the incident
  2. Containment: Revoke affected API keys, disable affected endpoints if necessary
  3. Notification: Notify affected customers within 72 hours of confirmed breach
  4. Remediation: Deploy fixes, rotate credentials, update security controls
  5. Post-Incident: Conduct root cause analysis and update procedures

11.3 Contact

To report a security vulnerability or incident, contact us immediately:

Email: hello@purposeforce.org
Subject line: SECURITY — [Brief Description]

12. Compliance

13. Contact

For security-related questions or to request additional security documentation, contact us:

PurposeForce
Email: hello@purposeforce.org
Web: purposeforce.org