supabase-data-handling
Implement Supabase PII handling, data retention, and GDPR/CCPA compliance patterns.Use when handling sensitive data, implementing data redaction, configuring retention policies,or ensuring compliance with privacy regulations for Supabase integrations.Trigger with phrases like "supabase data", "supabase PII","supabase GDPR", "supabase data retention", "supabase privacy", "supabase CCPA".
When & Why to Use This Skill
This Claude skill provides a robust framework for implementing PII handling, data retention, and GDPR/CCPA compliance within Supabase integrations. It streamlines sensitive data management through automated classification, regex-based PII detection, and secure redaction patterns, ensuring your database operations meet global privacy standards and security best practices.
Use Cases
- Regulatory Compliance: Automating GDPR and CCPA workflows by implementing data redaction and retention policies within Supabase environments.
- PII Detection and Masking: Identifying and protecting sensitive user information such as emails, phone numbers, and credit card data through automated regex scanning before storage.
- Data Lifecycle Management: Configuring automated cleanup and archiving schedules to ensure data is only stored for as long as legally or operationally necessary.
- Security Auditing and Classification: Categorizing database fields into PII, Sensitive, or Public tiers to apply appropriate encryption and access controls for audit readiness.
| name | supabase-data-handling |
|---|---|
| description | | |
| allowed-tools | Read, Write, Edit |
| version | 1.0.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
Supabase Data Handling
Overview
Handle sensitive data correctly when integrating with Supabase.
Prerequisites
- Understanding of GDPR/CCPA requirements
- Supabase SDK with data export capabilities
- Database for audit logging
- Scheduled job infrastructure for cleanup
Data Classification
| Category | Examples | Handling |
|---|---|---|
| PII | Email, name, phone | Encrypt, minimize |
| Sensitive | API keys, tokens | Never log, rotate |
| Business | Usage metrics | Aggregate when possible |
| Public | Product names | Standard handling |
PII Detection
const PII_PATTERNS = [
{ type: 'email', regex: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g },
{ type: 'phone', regex: /\b\d{3}[-.]?\d{3}[-.]?\d{4}\b/g },
{ type: 'ssn', regex: /\b\d{3}-\d{2}-\d{4}\b/g },
{ type: 'credit_card', regex: /\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g },
];
function detectPII(text: string): { type: string; match: string }[] {
const findings: { type: string; match: string }[] = [];
for (const pattern of PII_PATTERNS) {
const matches = text.matchAll(pattern.regex);
for (const match of matches) {
## Detailed Reference
See `{baseDir}/references/implementation.md` for complete data handling guide.