AuditLog
#python#automation#microsaas
Trasforma il caos dei sistemi in fiducia verificabile con AuditLog. Progettato per le architetture moderne, AuditLog trasforma gli eventi critici in intelligence a prova di manomissione e pronta per gli audit. Raggiungi senza sforzo la conformità a SOC 2, HIPAA e GDPR con zero frizioni per gli sviluppatori. Elimina i punti ciechi, accelera l'analisi forense degli incidenti e proteggi l'integrità aziendale. Integra in pochi minuti. Verifica tutto.
Leggi l'approfondimento tecnicoCreare Audit Trail Immutabili in Python con AuditLogmain.pymain.py — estratto d'esempio nello stile del tool
#!/usr/bin/env python3
"""AuditLog - Tamper-proof, audit-ready event logging and compliance engine.
AuditLog automatically captures, cryptographically signs, and chains system
events into immutable audit trails to streamline SOC 2, HIPAA, and GDPR
compliance with zero developer friction.
Features:
- Cryptographic SHA-256 hash-chaining for tamper-evident event verification
- Automated compliance tagging for SOC 2, HIPAA, and GDPR frameworks
- Contextual payload enrichment with process metadata and ISO timestamps
- Zero-dependency standard library implementation for maximum portability
- Thread-safe in-memory and append-only disk storage backends
Usage:
from main import AuditEngine, EventSeverity
logger = AuditEngine(storage_path="audit.log")
logger.record("user.login", {"user_id": 42}, severity=EventSeverity.INFO)
"""
from dataclasses import dataclass, field
from datetime import datetime, timezone
from enum import Enum
import hashlib
import json
import threading
from typing import Any, Dict, List, Optional
class EventSeverity(str, Enum):
"""Classifies event critical level for filtering and alerting."""
DEBUG = "DEBUG"
INFO = "INFO"
WARNING = "WARNING"
CRITICAL = "CRITICAL"
@dataclass(frozen=True)
class AuditRecord:
"""Represents an immutable, cryptographically bound audit log entry."""
event_type: str
payload: Dict[str, Any]
severity: EventSeverity
timestamp: str = field(
default_factory=lambda: datetime.now(timezone.utc).isoformat()
)
prev_hash: str = ""
record_hash: str = field(default="")
class AuditEngine:
"""Core engine managing tamper-proof audit trails and verification."""
def __init__(self, storage_path: Optional[str] = None) -> None:
# ... the full file ships with your download