Lesson 28 of 30 ~15 min
Course progress
0%

Compliance Best Practices

Praktické best practices pro compliance v různých odvětvích.

Compliance requirements se liší podle odvětví. Zde jsou praktické best practices.

Obecné best practices

1. Data Classification

from enum import Enum

class DataClassification(Enum):
    PUBLIC = "public"           # Can send to any tier
    INTERNAL = "internal"       # Team/Enterprise tier
    CONFIDENTIAL = "confidential"  # Enterprise only
    RESTRICTED = "restricted"   # Never send to cloud

def can_send_to_claude(classification: DataClassification, tier: str) -> bool:
    rules = {
        DataClassification.PUBLIC: ["free", "pro", "team", "enterprise"],
        DataClassification.INTERNAL: ["team", "enterprise"],
        DataClassification.CONFIDENTIAL: ["enterprise"],
        DataClassification.RESTRICTED: []  # Never
    }
    return tier in rules[classification]

2. Mandatory Disclaimers

def add_ai_disclaimer(output: str, context: str) -> str:
    """Add required disclaimers to AI-generated content"""
    
    disclaimers = {
        "legal": "\n\n---\n*This is AI-generated content and does not constitute legal advice. Consult a qualified attorney.*",
        "medical": "\n\n---\n*AI-generated information. Not a substitute for professional medical advice.*",
        "financial": "\n\n---\n*This is not financial advice. Consult a licensed financial advisor.*",
    }
    
    if context in disclaimers:
        return output + disclaimers[context]
    return output

3. Human-in-the-Loop

class ApprovalWorkflow:
    """Vyžaduje lidské schválení pro určité akce"""
    
    REQUIRES_APPROVAL = [
        "send_email",
        "publish_content",
        "modify_database",
        "deploy_code"
    ]
    
    async def execute_with_approval(self, action: str, params: dict):
        if action in self.REQUIRES_APPROVAL:
            # Request human approval
            approval = await self.request_approval(action, params)
            if not approval.approved:
                raise ApprovalDeniedError(approval.reason)
        
        return await self.execute(action, params)

Industry-Specific

Healthcare (HIPAA)

class HIPAACompliantClient:
    """Client pro HIPAA-compliant použití Claude"""
    
    # PHI identifiers that must be removed
    PHI_PATTERNS = [
        'patient_name', 'ssn', 'dob', 'address',
        'phone', 'email', 'mrn', 'insurance_id'
    ]
    
    def __init__(self):
        # Vyžaduje Enterprise + BAA
        self.client = AnthropicEnterprise(
            baa_signed=True,
            hipaa_mode=True
        )
    
    def de_identify(self, data: dict) -> dict:
        """Remove PHI before sending"""
        clean_data = {}
        for key, value in data.items():
            if key not in self.PHI_PATTERNS:
                clean_data[key] = value
            else:
                clean_data[key] = "[REDACTED]"
        return clean_data
    
    def analyze_patient_data(self, data: dict):
        # 1. De-identify
        safe_data = self.de_identify(data)
        
        # 2. Audit log
        self.log_access(data_type="patient_record")
        
        # 3. Send to Claude
        return self.client.messages.create(...)

Financial Services

class FinancialServicesCompliance:
    """Compliance pro finanční služby"""
    
    def __init__(self):
        self.prohibited_actions = [
            "trading_recommendation",
            "credit_decision",
            "fraud_accusation"
        ]
    
    def validate_request(self, intent: str, data: dict):
        # Check prohibited actions
        if intent in self.prohibited_actions:
            raise ComplianceError(
                f"Action '{intent}' requires human decision"
            )
        
        # Check for market-sensitive info
        if self.contains_mnpi(data):
            raise ComplianceError(
                "Cannot process material non-public information"
            )
        
        return True
    
    def contains_mnpi(self, data: dict) -> bool:
        """Check for material non-public information"""
        mnpi_indicators = [
            'earnings_preview', 'merger_discussion',
            'insider_trading', 'unreleased_financials'
        ]
        text = str(data).lower()
        return any(ind in text for ind in mnpi_indicators)

Government/Public Sector

class GovCloudCompliance:
    """Compliance pro vládní sektor"""
    
    def __init__(self):
        # FedRAMP authorized environment
        self.client = Anthropic(
            base_url="https://api.anthropic.gov",  # Hypothetical
            fedramp_mode=True
        )
        
        self.classification_levels = {
            "unclassified": True,
            "cui": True,  # Controlled Unclassified
            "secret": False,  # Never in cloud
            "top_secret": False
        }
    
    def check_classification(self, document: str) -> str:
        """Determine classification level"""
        # This would use actual classification markers
        if "SECRET" in document:
            return "secret"
        elif "CUI" in document:
            return "cui"
        return "unclassified"
    
    def process_document(self, document: str):
        level = self.check_classification(document)
        
        if not self.classification_levels.get(level, False):
            raise ClassificationError(
                f"Cannot process {level} documents in cloud"
            )
        
        return self.client.messages.create(...)

Compliance Checklist

class ComplianceChecker:
    """Pre-flight compliance check"""
    
    def check(self, request: dict, context: dict) -> list:
        issues = []
        
        # Data classification
        if not context.get('data_classification'):
            issues.append("Missing data classification")
        
        # User authorization
        if not self.user_authorized(context.get('user_id')):
            issues.append("User not authorized for AI tools")
        
        # Sensitive data scan
        sensitive = self.scan_for_sensitive(request)
        if sensitive:
            issues.append(f"Contains sensitive data: {sensitive}")
        
        # Rate limits (cost controls)
        if self.exceeds_budget(context.get('user_id')):
            issues.append("User exceeded AI budget")
        
        # Audit trail
        if not context.get('audit_enabled'):
            issues.append("Audit logging not enabled")
        
        return issues
    
    def pre_flight(self, request: dict, context: dict):
        issues = self.check(request, context)
        if issues:
            raise ComplianceError(issues)
        return True

Compliance není překážka - je to základ důvěryhodnosti.