Analisi Tracker is designed with privacy-first principles and regulatory compliance as core requirements. This document outlines the privacy safeguards, compliance measures, and data protection practices implemented in the AI features.
- Privacy Principles
- Data De-identification
- GDPR Compliance
- HIPAA Compliance
- Data Security
- User Rights
- Audit & Logging
- Third-Party Services
- Incident Response
-
Privacy by Design:
- Privacy integrated into system architecture
- Data protection considered at every development stage
- Minimal data collection and processing
-
Data Minimization:
- Only collect data necessary for functionality
- De-identify data before AI processing
- Purge data after retention period
-
Transparency:
- Clear privacy policy
- Visible consent mechanisms
- Explainable AI responses with sources
-
User Control:
- Opt-in consent for AI features
- Right to delete data
- Right to export data
- Ability to disable AI features
-
Security:
- Encryption in transit and at rest
- Access controls
- Audit logging
- Regular security reviews
All data sent to LLMs is de-identified using HIPAA Safe Harbor method:
Removed Identifiers:
- Names: All proper names removed
- Geographic subdivisions: All geographic data smaller than state level
- Dates: All dates (except year) removed or generalized
- Phone numbers: All phone numbers removed
- Email addresses: All email addresses removed
- SSN: All Social Security numbers removed
- MRN: Medical record numbers removed
- Account numbers: All account numbers removed
- Certificate/license numbers: All removed
- Vehicle identifiers: All removed
- Device identifiers: All removed
- Web URLs: All URLs removed
- IP addresses: All IP addresses removed
- Biometric identifiers: All removed
- Full-face photos: All images excluded
- Any other unique identifying number: All removed
// Example from llm-service.js
deidentify(text) {
let deidentified = text;
// Remove dates
deidentified = deidentified.replace(/\d{1,2}[-/]\d{1,2}[-/]\d{2,4}/g, '[DATE]');
// Remove phone numbers
deidentified = deidentified.replace(/\d{3}[-.\s]?\d{3}[-.\s]?\d{4}/g, '[PHONE]');
// Remove email addresses
deidentified = deidentified.replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g, '[EMAIL]');
// Remove SSN pattern
deidentified = deidentified.replace(/\d{3}-\d{2}-\d{4}/g, '[SSN]');
return deidentified;
}Expert Determination Method:
- Statistical analysis of re-identification risk
- Very small risk (<0.01%) of re-identification
- Regular reviews by privacy officer
Implementation:
- ✅ Explicit user consent before AI processing
- ✅ Clear privacy policy explaining data usage
- ✅ Transparent AI responses with source citations
- ✅ User-friendly consent interface
Consent Mechanism:
// Check consent before AI processing
if (REQUIRE_CONSENT_FOR_AI && !user.hasAIConsent) {
return {
error: 'Consent required',
message: 'Please review and accept the AI privacy policy before using AI features'
};
}Implementation:
- ✅ Data collected only for specified purposes
- ✅ No secondary use of data without consent
- ✅ Clear documentation of data usage
Permitted Purposes:
- Generate health insights
- Explain medical terms
- Extract lab values from documents
- Analyze trends and patterns
Not Permitted:
- Marketing or advertising
- Selling data to third parties
- Training AI models without explicit consent
- Research without additional consent
Implementation:
- ✅ Only send relevant data to LLM
- ✅ De-identify all data before processing
- ✅ Limit context window to reduce data exposure
Example:
Full patient record: 500 lab results over 10 years
Data sent to LLM: Last 5 creatinine values (de-identified)
Reduction: 99% data minimization
Implementation:
- ✅ Source citations for AI responses
- ✅ Confidence scores shown to users
- ✅ Validation of AI-generated content
- ✅ Error correction mechanisms
Accuracy Measures:
- RAG (Retrieval-Augmented Generation) for factual accuracy
- Medical response validation
- User feedback integration
- Regular prompt engineering
Implementation:
- ✅ Configurable retention period (
AI_LOG_RETENTION_DAYS=90) - ✅ Automatic data purging after retention period
- ✅ User right to deletion
- ✅ No indefinite storage
Retention Schedule:
Chat conversations: 90 days
AI interaction logs: 90 days
Extracted PDF data: Until user deletion
Analytics data: Per user preference
Implementation:
- ✅ Encryption in transit (TLS 1.3)
- ✅ Encryption at rest (AES-256)
- ✅ Access controls
- ✅ Audit logging
- ✅ Regular security assessments
Provided Information:
- Purpose of AI processing
- Categories of data processed
- Recipients of data
- Data retention period
- User rights
- Right to withdraw consent
- Right to lodge complaint
Implementation:
- Privacy policy displayed on first use
- In-product explanations
- Contextual help text
User Can Request:
- Confirmation of data processing
- Copy of personal data
- Purposes of processing
- Categories of data
- Recipients of data
- Retention period
API Endpoint:
GET /api/user/data-exportResponse:
{
"aiInteractions": [
{
"timestamp": "2026-04-06T...",
"query": "Show my creatinine trends",
"responseSummary": "Trend analysis provided",
"tokensUsed": 730
}
],
"extractedData": [...],
"consentGiven": "2026-04-01T..."
}User Can Request:
- Correction of inaccurate data
- Completion of incomplete data
API Endpoint:
PUT /api/user/data/:idUser Can Request:
- Deletion of personal data
- Deletion of AI interactions
- Deletion of extracted documents
API Endpoint:
DELETE /api/user/dataImplementation:
async deleteUserAIResources(userId) {
// Delete chat conversations
await conversations.deleteMany({ userId });
// Delete interaction logs
await logs.deleteMany({ userId });
// Delete extracted documents
await documents.deleteMany({ userId });
// Confirm deletion
return { success: true, deleted: true };
}User Can Request:
- Disable AI features
- Stop automated decision-making
- Restrict data processing
API Endpoint:
POST /api/user/restrict-aiUser Can Request:
- Export data in structured format
- Transfer to another service
API Endpoint:
GET /api/user/data-export?format=jsonUser Can Object To:
- AI-based processing
- Automated decision-making
- Direct marketing (not applicable)
Implementation:
- One-click AI disable
- Consent withdrawal
- Opt-out mechanism
Implementation:
- AI provides recommendations, not decisions
- Human-in-the-loop for critical decisions
- Right to human intervention
- Explanation of AI logic
- Ability to challenge AI decision
Implementation:
- ✅ PHI de-identification (Safe Harbor)
- ✅ Minimum necessary standard
- ✅ Permitted uses and disclosures
- ✅ Business Associate agreements
De-identification:
// All data sent to LLM is de-identified
const deidentifiedData = llmService.deidentify(patientData);Minimum Necessary:
- Only send relevant lab values to LLM
- Not entire medical record
- Context-aware data minimization
Implementation:
- ✅ Administrative safeguards
- ✅ Physical safeguards
- ✅ Technical safeguards
Administrative Safeguards:
- Security management process
- Assigned security responsibility
- Workforce security and training
- Information access management
- Security incident procedures
- Contingency plan
- Evaluation
Physical Safeguards:
- Facility access controls
- Workstation use
- Workstation security
- Device and media controls
Technical Safeguards:
- Access control (unique user IDs)
- Emergency access procedure
- Automatic logoff
- Encryption and decryption
- Audit controls
- Integrity controls
- Transmission security
Implementation:
- ✅ Breach detection and response
- ✅ Notification procedures
- ✅ Documentation of breaches
- ✅ Risk assessment
Breach Response Plan:
- Identify breach within 60 days
- Assess risk of harm
- Notify affected individuals
- Notify Secretary of HHS (if >500 individuals)
- Document breach and response
Required BAAs:
-
OpenAI:
- Available for enterprise accounts
- Sign BAA through OpenAI dashboard
- Confirm HIPAA compliance
-
Anthropic:
- Available for healthcare customers
- Contact sales for BAA
- HIPAA-compliant data processing
-
Hosting Providers:
- AWS BAA (if using AWS)
- Azure BAA (if using Azure)
- Google Cloud BAA (if using GCP)
BAA Checklist:
- ✅ Signed BAA with all vendors
- ✅ Vendor HIPAA compliance verified
- ✅ Permitted uses defined
- ✅ Security requirements specified
- ✅ Reporting requirements defined
In Transit:
- TLS 1.3 for all API communications
- HTTPS only
- Certificate validation
At Rest:
- AES-256 encryption for databases
- Encrypted file storage
- Secure key management
Key Management:
- Environment variables for API keys
- No hardcoded keys
- Key rotation policy
- Secure key storage (e.g., AWS KMS)
Authentication:
- User authentication (JWT)
- Multi-factor authentication (MFA)
- Session management
- Password policies
Authorization:
- Role-based access control (RBAC)
- Principle of least privilege
- Regular access reviews
API Security:
// Example authentication middleware
async function authenticate(req, res, next) {
const token = req.headers.authorization?.split(' ')[1];
if (!token) {
return res.status(401).json({ error: 'Unauthorized' });
}
try {
const decoded = jwt.verify(token, process.env.JWT_SECRET);
req.user = decoded;
next();
} catch (error) {
return res.status(401).json({ error: 'Invalid token' });
}
}
- Firewalls configured
- DDoS protection
- Rate limiting
- IP whitelisting (optional)
- Input validation
- Output encoding
- SQL injection prevention
- XSS prevention
- CSRF protection
- Dependency scanning
Granular Consent:
User Consent Preferences:
- [ ] Health summaries
- [ ] Chat interface
- [ ] PDF extraction
- [ ] Medication analysis
- [ ] Predictive analytics
- [ ] Data sharing for research
Consent Dashboard:
- View current consent status
- Change consent preferences
- Withdraw consent (anytime)
- View consent history
Consent Logging:
{
"userId": "user_12345",
"consentType": "ai_chat",
"action": "granted",
"timestamp": "2026-04-06T12:00:00Z",
"version": "2.0",
"documentHash": "abc123..."
}Right to be Forgotten:
POST /api/user/delete-accountDeletion Process:
- Verify user identity
- Delete all user data:
- Chat conversations
- AI interaction logs
- Extracted documents
- Analytics data
- Account information
- Confirm deletion
- Send confirmation email
Exceptions:
- Legal requirements to retain data
- Public interest (research with consent)
- Exercise of right of freedom of expression
GDPR Portability:
GET /api/user/export-dataExport Formats:
- JSON (machine-readable)
- CSV (spreadsheet)
- PDF (human-readable)
Export Contents:
- Profile information
- Consent history
- AI interactions (summary)
- Extracted lab data
- Analytics results
What's Logged:
- Timestamp
- User ID (de-identified)
- Feature used
- Query type
- Response metadata
- Token usage
- Cost
- IP address (hashed)
- User agent
Log Format (JSON):
{
"timestamp": "2026-04-06T12:00:00Z",
"userId": "user_12345",
"feature": "chat",
"queryType": "trends",
"tokensUsed": 730,
"cost": 0.015,
"ipHash": "a1b2c3d4...",
"userAgent": "Mozilla/5.0..."
}Retention:
- AI interaction logs: 90 days (default)
- Security events: 1 year
- Compliance logs: 6 years (HIPAA)
Who Can Access:
- System administrators
- Privacy officer
- Compliance officer
- Security team
Access Controls:
- Role-based permissions
- Audit trail of log access
- Justification required
Real-time Monitoring:
- Cost alerts
- Anomaly detection
- Security events
- Performance metrics
Alerts:
- Daily cost threshold exceeded
- Unusual query patterns
- Failed authentication attempts
- API errors
Data Usage:
- API data not used for training (by default)
- Zero data retention option available
- SOC 2 Type II compliant
- HIPAA BAA available (enterprise)
Privacy Policy: https://openai.com/policies/privacy-policy
Data Processing Agreement: https://openai.com/policies/data-processing-agreement
Data Usage:
- API data not used for training
- Data deleted after 30 days
- SOC 2 Type II compliant
- HIPAA BAA available
Privacy Policy: https://www.anthropic.com/legal/privacy
Data Processing Agreement: https://www.anthropic.com/legal/dpa
AWS:
- HIPAA eligible
- BAA available
- SOC 1, 2, 3 compliant
- ISO 27001 certified
Google Cloud:
- HIPAA compliant
- BAA available
- SOC 1, 2, 3 compliant
- ISO 27001 certified
Azure:
- HIPAA compliant
- BAA available
- SOC 1, 2, 3 compliant
- ISO 27001 certified
1. Identification (0-24 hours)
- Detect potential breach
- Initial assessment
- Activate incident response team
2. Containment (24-48 hours)
- Isolate affected systems
- Prevent further data loss
- Preserve evidence
3. Investigation (48-72 hours)
- Determine scope of breach
- Identify affected individuals
- Assess risk of harm
4. Notification (As required)
- Notify affected individuals (without undue delay)
- Notify regulatory authorities (within 60 days)
- Notify media (if >500 individuals)
5. Remediation
- Address root cause
- Implement preventive measures
- Update policies and procedures
- Provide training
Template:
Subject: Important Notice of Data Breach
Dear [Name],
We are writing to inform you of a data breach involving your personal information.
What happened:
On [date], we discovered that [description of breach].
What information was involved:
[Types of personal information]
What we are doing:
[Steps taken to address breach]
What you can do:
[Recommended actions for affected individuals]
For more information:
[Contact information]
We sincerely apologize for this incident.
- ✅ GDPR compliant (self-assessment)
- ✅ HIPAA compliant (with BAA)
- ✅ SOC 2 Type II (planned)
- ✅ ISO 27001 (planned)
- ✅ HITRUST (planned)
- Annual privacy impact assessment
- Quarterly security reviews
- Monthly access reviews
- Continuous compliance monitoring
Document Version: 1.0.0 Last Updated: April 2026 Next Review: July 2026
Questions? Contact privacy@analisi-tracker.com