Skip to content
cccskills
FreePublished on GitHub

audit-log

Immutable audit log design: event schema, storage, retention, PII redaction, compliance, query patterns.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3 stars(GitHub 3 + cccskills 0)
Works withPostgreSQL

Run score Not tested

See how to install

Files included (1)

  • SKILL.md3.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Audit Log — Immutable Action Registry

Append-only record of sensitive actions for legal, forensic, and compliance purposes. NOT operational logging (use structured logs/observability for that).

When to Audit

  • Auth: login, logout, login_failed, MFA challenge
  • Permissions: role_change, impersonate_start/stop
  • Sensitive CRUD: user data, grades, enrollments
  • Data exports: DSAR requests, bulk exports
  • Config/integrations: tenant settings, enable/disable
  • Deletion: user delete, record purge

Event Schema

Core fields: id (UUID, never auto-increment), ts (TIMESTAMPTZ), tenant_id, actor_type (user/system/api/service), actor_id, action (enum), target_type, target_id, before/after (JSONB, PII-redacted), ip, user_agent, request_id (log correlation), result (success/denied/error), metadata (JSONB). Optional tamper-evidence: prev_hash, hash.

Storage Decisions

  • Where: Same PostgreSQL, partitioned by month. Indexes on (tenant_id, ts), (tenant_id, actor_id, ts), (tenant_id, action, ts), (tenant_id, target_type, target_id, ts)
  • Immutability: REVOKE UPDATE/DELETE from app role + defensive trigger
  • Write pattern: Transactional outbox — insert in same tx as business op, worker moves to audit table. Avoids fire-and-forget losing events if tx commits but queue push fails

Retention: Hot (PostgreSQL, 0-3 mo) → Warm (BigQuery/S3 Parquet, 3-12 mo) → Cold (Glacier/Archive, 1-5 yr) → Purge (>5 yr, auto-delete + audit the purge). Monthly job drops partitions after warm export.

Query Patterns

  • GET /admin/audit with RBAC (admin, security, legal only)
  • Required: tenant_id filter (never trust frontend). Optional: actor_id, action, target, date range, result
  • Cursor pagination on (ts, id) DESC — never OFFSET
  • CSV export rate-limited; export action is itself audited

PII Redaction

Never persist: password, tokens, api_key, secrets, auth headers, cookies, sessions, full national ID, minor's email/phone, biometric data. Allowed: last 4 digits of ID, SHA256 of email, internal IDs. Replace sensitive fields with "***REDACTED***" preserving the key.

Compliance

  • GDPR/LGPD erasure vs retention: audit records exempt under legitimate interest, but redact PII — keep action record, remove identifying details
  • Minor data (LATAM): access to minor data is a critical auditable event
  • Tamper-evidence: hash chain per tenant only if legal requirement exists (adds write contention)

Anti-patterns

  • Mixing audit with operational logs (different SLAs, sensitivity, retention)
  • Allowing UPDATE/DELETE on audit table from app role
  • Logging passwords, tokens, or minor PII in cleartext
  • Missing tenant_id (cross-tenant leak = critical incident)
  • Synchronous audit blocking requests without outbox
  • No retention policy (unbounded cost + legal risk)
  • Exposing query endpoint without RBAC
  • No alert when write rate drops to zero (forensic blindness)

Checklist

  • Partitioned audit table with tenant-scoped indexes
  • REVOKE UPDATE/DELETE + defensive trigger
  • Transactional outbox pattern
  • Middleware captures context automatically (IP, UA, request_id, actor, tenant)
  • PII redactor with deny-list
  • Action catalog documented
  • Admin endpoint with RBAC, filters, cursor pagination
  • Archival job (hot → warm → cold)
  • Alert on zero write rate

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

See all skills by SebastianLuser

Report a problem with this skill