Skip to main content

Data Retention and Deletion Policy

Version: 1.0 Effective Date: 2026-02-16 Review Frequency: Annually

1. Purpose

This policy defines how long Agentic Trust retains different types of data and the procedures for data deletion in compliance with:
  • SOC 2 Trust Service Criteria
  • GDPR (General Data Protection Regulation)
  • CCPA (California Consumer Privacy Act)
  • Industry best practices

2. Scope

This policy applies to all data processed and stored by Agentic Trust, including:
  • Customer data (organizations and users)
  • End user data (widget visitors)
  • Conversation data (messages and sessions)
  • Audit logs and system logs
  • Backups and archives

3. Data Classification

3.1 Personal Identifiable Information (PII)

Definition: Information that can identify an individual Examples: Email addresses, names, IP addresses, user IDs linked to personal data Retention: As defined per data type below Special Handling: Subject to GDPR/CCPA rights (access, deletion, portability)

3.2 Sensitive Data

Definition: Data requiring extra protection Examples: API keys, HMAC secrets, authentication tokens, conversation content Retention: As defined per data type below Special Handling: Encrypted at rest, access logged

3.3 System Data

Definition: Operational and technical data Examples: Audit logs, error logs, metrics, performance data Retention: As defined per data type below Special Handling: Used for security monitoring and compliance

4. Retention Schedules

4.1 Customer Account Data

Data TypeRetention PeriodBasisDeletion Method
Organization accountActive + 90 days after deletion requestContract obligationHard delete + anonymize references
User accountActive + 90 days after org deletionContract obligationHard delete
Product configurationActive + 90 days after deletionBusiness needHard delete
API keys (active)Active until revokedSecurityHash deleted from DB
API keys (revoked)90 days after revocationAudit trailPermanent delete
Notes:
  • “Active” means while the account/subscription is active
  • 90-day grace period allows for accidental deletion recovery
  • After grace period, data is permanently deleted (not just soft-deleted)

4.2 End User Data

Data TypeRetention PeriodBasisDeletion Method
End user profilesActive + 2 years of inactivityBusiness needHard delete
Conversation messages2 years from last messageBusiness needHard delete
Identity verificationActive + 1 yearSecurityHard delete
Session data30 days from last activityTechnical limitationAuto-expire
Notes:
  • End users can request deletion at any time via their organization
  • Anonymization preserves analytics while removing PII
  • Organizations can configure shorter retention (product setting)

4.3 System and Audit Logs

Data TypeRetention PeriodBasisDeletion Method
Audit logs7 yearsSOC 2 / ComplianceArchive then delete
Application logs (Sentry)90 daysOperationalAuto-delete by Sentry
Database query logs30 daysOperationalAuto-delete by Neon
Rate limit data (Redis)24 hoursTechnicalAuto-expire
Agent debug logs30 daysOperationalHard delete
Notes:
  • Audit logs must be retained for SOC 2 compliance (minimum 1 year, we use 7 for added security)
  • Logs are archived to cold storage after 1 year for cost optimization
  • Application logs can be extended if under investigation

4.4 Knowledge Base Data

Data TypeRetention PeriodBasisDeletion Method
Uploaded filesActive + 90 days after source deletionBusiness needDelete from blob storage
Vector embeddingsActive + 90 days after source deletionBusiness needHard delete
Website snapshots90 days from last syncBusiness needHard delete

4.5 Backups

Data TypeRetention PeriodBasisDeletion Method
Database backups (daily)30 daysDisaster recoveryAuto-delete
Database backups (weekly)90 daysBusiness continuityAuto-delete
Database backups (monthly)1 yearComplianceArchive then delete
Notes:
  • Backups may contain deleted data during retention period
  • Backup retention is separate from primary data retention
  • User deletion requests apply to backups created after the request

5. Data Deletion Procedures

5.1 User-Requested Deletion (GDPR Article 17 “Right to be Forgotten”)

Process:
  1. Request Verification
    • Verify identity of requestor
    • Confirm authority to request deletion (org admin)
    • Log deletion request in audit log
  2. Scope Determination
    • Identify all data associated with end user
    • Check for legal retention obligations
    • Determine if full deletion or anonymization
  3. Deletion Execution
    • Delete from primary database
    • Delete from blob storage (files, images)
    • Delete from caches (Redis)
    • Mark for deletion in recent backups (within 30 days)
  4. Verification
    • Confirm deletion completion
    • Document deletion in audit log
    • Notify requestor (within 30 days)
Timeline: Completed within 30 days of request Exceptions (data that cannot be deleted):
  • Audit logs (for compliance)
  • Aggregated analytics (anonymized)
  • Data required by law or regulation
  • Data involved in active legal proceedings

5.2 Automated Deletion (Scheduled Jobs)

Implementation:
// File: src/lib/data-retention/cleanup-jobs.ts

// Monthly job to delete expired data
export async function runRetentionCleanup() {
  // Delete old conversations (2+ years inactive)
  await deleteExpiredConversations();

  // Delete old end user profiles (2+ years inactive)
  await deleteInactiveEndUsers();

  // Archive old audit logs (1+ year old) to cold storage
  await archiveOldAuditLogs();

  // Delete very old audit logs (7+ years old)
  await deleteOldAuditLogs();

  // Delete expired sessions
  await deleteExpiredSessions();

  // Delete old agent debug logs (30+ days)
  await deleteOldDebugLogs();
}
Schedule: Runs 1st of every month at 2:00 AM UTC Monitoring: Sends metrics to Sentry, alerts on failures

5.3 Account Deletion

When an organization deletes their account:
  1. Grace Period (90 days)
    • Account marked as “pending deletion”
    • Data retained but inaccessible
    • Can be restored if requested
  2. Hard Deletion (after 90 days)
    • All products deleted
    • All API keys revoked and deleted
    • All end user data deleted (or anonymized)
    • All conversations deleted
    • All knowledge sources deleted
    • All files deleted from blob storage
    • Audit logs retained (anonymized org reference)
Implementation: See src/lib/data-retention/account-deletion.ts

6. Data Export (GDPR Article 15 “Right of Access”)

Organizations and end users can request a copy of their data. API Endpoint: POST /api/v1/export/user-data Format: JSON or CSV Contents:
  • User profile data
  • All conversations
  • All feedback
  • Identity verification records
  • Audit log entries (user’s own actions)
Timeline: Provided within 30 days of request Implementation: See src/app/api/v1/export/user-data/route.ts (to be created)
If data is subject to litigation or investigation:
  1. Immediate suspension of deletion
    • Tag affected data with legal hold flag
    • Prevent automated cleanup jobs from deleting
    • Notify retention job to skip held data
  2. Documentation
    • Log legal hold in audit log
    • Document scope and reason
    • Set review date
  3. Release
    • Requires legal approval
    • Remove legal hold flag
    • Resume normal retention schedule
Implementation: Legal hold flag in database tables

8. Third-Party Data

Data processed by third-party services:
ServiceData TypeRetentionControl
WorkOSAuthentication dataPer WorkOS policyOrganization admin
AnthropicLLM prompts/responsesNot retained by AnthropicN/A
OpenAIEmbeddingsNot retained per API ToSN/A
NeonDatabase backups7 days (Neon default)Automatic
VercelLogs, deployments30 daysAutomatic
UpstashRate limit data24 hoursAutomatic
SentryError logs90 daysConfigurable
Notes:
  • Review third-party DPAs annually
  • Ensure third parties comply with GDPR/CCPA
  • Document data flows in data processing agreement

9. Monitoring and Compliance

9.1 Retention Metrics

Track and monitor:
  • Total data volume by type
  • Data age distribution
  • Deletion request volume
  • Deletion completion rate
  • Cleanup job success rate
Dashboard: To be created in admin panel

9.2 Audits

Internal Audit: Quarterly
  • Review retention policy adherence
  • Spot-check deletion completeness
  • Verify automated jobs running correctly
External Audit: Annually (SOC 2)
  • Auditor reviews retention policy
  • Auditor verifies deletion procedures
  • Auditor samples data to confirm retention

9.3 Policy Updates

This policy is reviewed annually and updated as needed when:
  • Regulations change (new laws, updates to GDPR/CCPA)
  • Business needs change
  • Audit findings require changes
  • Technology changes enable better practices
Review Owner: Chief Security Officer / Data Protection Officer

10. Responsibilities

RoleResponsibility
Engineering TeamImplement retention logic, automated jobs, deletion APIs
Security TeamMonitor compliance, conduct audits, update policy
Legal TeamAdvise on regulatory requirements, approve legal holds
Support TeamProcess deletion requests, verify identity
Data Protection OfficerOverall policy oversight, GDPR compliance

11. User Rights

11.1 Right to Access (GDPR Article 15)

End users can request a copy of their data Response Time: 30 days Format: Machine-readable (JSON)

11.2 Right to Deletion (GDPR Article 17)

End users can request deletion of their data Response Time: 30 days Exceptions: Legal obligations, audit logs

11.3 Right to Rectification (GDPR Article 16)

End users can request correction of inaccurate data Response Time: 30 days Implementation: Via organization admin panel

11.4 Right to Data Portability (GDPR Article 20)

End users can request data in portable format Response Time: 30 days Format: JSON

11.5 Right to Restrict Processing (GDPR Article 18)

End users can request processing limitation Implementation: Account suspension without deletion

12. Implementation Checklist

  • Create automated retention cleanup jobs
  • Create user data export API endpoint
  • Create user data deletion API endpoint
  • Add legal hold functionality to database schema
  • Create admin dashboard for retention metrics
  • Set up monthly cleanup job scheduler
  • Test deletion completeness (all related records removed)
  • Document API endpoints for data rights
  • Train support team on handling requests
  • Create user-facing privacy policy
  • Create data processing agreements (DPA) for customers

Document Approval
RoleNameDate
DPO/Security Lead[Name][Date]
Legal Counsel[Name][Date]
CTO[Name][Date]
Next Review Date: 2027-02-16