Skip to content
compliance-hub logo

Compliance Hub — Central Log Collection

compliance-hub

ACTIVATE when the user asks about centralising compliance records, log collection, audit trail persistence, log retention, SIEM integration, or agent observability. Central collection point for all complisec output: audit logs, incident records, change records, and vendor assessments. Configures ...

eyesecurity/skills0installs11stars

SKILL.md

Full skill instructions

Compliance Hub — Central Log Collection

All complisec records in one place: audit logs, incidents, changes, vendor assessments. Immutable, retained, searchable.

What gets collected

Source skillRecord typeLocal pathFormat
audit-loggingAgent actions + decisions.compliance/​audit.logJSONL (one event per line)
incident-managementIncident lifecycle records.compliance/​incidents/​INC-*.jsonJSON
change-managementChange records.compliance/​changes/​CHG-*.jsonJSON
vendor-riskVendor assessments.compliance/​vendors/​VND-*.jsonJSON

The problem

Agents run in ephemeral environments. Local .compliance/ files get lost when sessions end, containers restart, or machines change. For NIS2 compliance, audit trails must be retained 18-24 months for essential entities. You need central collection.

Storage options — cheapest first

Option 1: Cloud object storage (recommended starting point)

Append-only, immutable, pennies per GB. No server to manage.

ProviderTierPrice/​GB/​monthImmutabilityBest for
AWS S3 Glacier Deep ArchiveArchive$0.001Object Lock (WORM)Long-term retention, audit evidence
Azure Blob ArchiveArchive$0.001Immutable Blob StorageSame — Azure shops
GCP Cloud Storage ArchiveArchive$0.0012Retention policies + bucket lockSame — GCP shops
AWS S3 StandardHot$0.023Object LockActive logs that need instant access
Azure Blob HotHot$0.018Immutable policiesSame — Azure shops
Backblaze B2Hot$0.006Object LockBudget option, S3-compatible API

For complisec: use hot storage for active records (incidents in progress, recent audit log) and lifecycle-rule them to archive after 90 days. Compliance retention at archive tier costs ~$0.01/​year per GB.

How to set it up

AWS S3
# Create bucket with versioning + object lock (immutable)
aws s3api create-bucket \
  --bucket my-org-compliance-logs \
  --region eu-west-1 \
  --create-bucket-configuration LocationConstraint=eu-west-1

aws s3api put-bucket-versioning \
  --bucket my-org-compliance-logs \
  --versioning-configuration Status=Enabled

aws s3api put-object-lock-configuration \
  --bucket my-org-compliance-logs \
  --object-lock-configuration '{"ObjectLockEnabled":"Enabled","Rule":{"DefaultRetention":{"Mode":"COMPLIANCE","Years":2}}}'

# Lifecycle: move to Glacier after 90 days
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-org-compliance-logs \
  --lifecycle-configuration '{
    "Rules": [{"ID":"archive","Status":"Enabled","Filter":{},"Transitions":[{"Days":90,"StorageClass":"DEEP_ARCHIVE"}]}]
  }'
Azure Blob
# Create storage account + container with immutability
az storage account create \
  --name myorgcompliance \
  --resource-group my-rg \
  --location westeurope \
  --sku Standard_LRS

az storage container create \
  --name compliance-logs \
  --account-name myorgcompliance

az storage container immutability-policy create \
  --account-name myorgcompliance \
  --container-name compliance-logs \
  --period 730
GCP Cloud Storage
gcloud storage buckets create gs://my-org-compliance-logs \
  --location=europe-west4 \
  --default-storage-class=STANDARD

# Set retention policy (730 days = 2 years)
gcloud storage buckets update gs://my-org-compliance-logs \
  --retention-period=730d

How the agent pushes logs

Set these environment variables (never hardcode in skills):

# In your .env or CI/​CD secrets
COMPLISEC_LOG_PROVIDER=s3          # s3 | azure | gcp | local
COMPLISEC_LOG_BUCKET=my-org-compliance-logs
COMPLISEC_LOG_REGION=eu-west-1

# AWS credentials (use IAM roles in production, not keys)
AWS_ACCESS_KEY_ID=<from-secrets-manager>
AWS_SECRET_ACCESS_KEY=<from-secrets-manager>

The agent writes compliance records as JSON files using the cloud provider's CLI or SDK:

# Push an incident record
aws s3 cp .compliance/​incidents/​INC-2026-001.json \
  s3://my-org-compliance-logs/​incidents/​INC-2026-001.json

# Push audit log (append daily)
aws s3 cp .compliance/​audit.log \
  s3://my-org-compliance-logs/​audit/​2026-03-16.log

For continuous sync, use a post-session hook or cron job:

# Sync all compliance records to cloud
aws s3 sync .compliance/ s3://my-org-compliance-logs/ \
  --exclude "profile.json" --exclude "skills/​*"

Add to org profile

During onboarding, capture the log storage config:

"logging": {
  "provider": "s3",
  "bucket": "my-org-compliance-logs",
  "region": "eu-west-1",
  "retention_years": 2,
  "immutable": true
}

Option 2: Agent observability platforms (richer, more expensive)

When you need dashboards, search, alerting, and multi-user access — not just storage.

Langfuse (recommended for getting started)

Open source, self-hostable, EU cloud option. ISO 27001 + SOC2 + GDPR certified.

What it gives you: structured traces of every agent action, searchable, with dashboard. Maps well to complisec audit events.

Getting started — 5 minutes:

# 1. Sign up at langfuse.com (free tier: 50k traces/​month)
# 2. Create a project, get your keys
# 3. Set environment variables
export LANGFUSE_PUBLIC_KEY=pk-lf-...   # from your project settings
export LANGFUSE_SECRET_KEY=sk-lf-...   # from your project settings
export LANGFUSE_BASE_URL=https://cloud.langfuse.com

# 4. Install the SDK
pip install langfuse
# Minimal example: log a complisec audit event to Langfuse
from langfuse import Langfuse

langfuse = Langfuse()

# Create a trace (= one compliance session)
trace = langfuse.trace(name="complisec-session", metadata={"org": "Acme BV"})

# Log an audit event as a span
trace.span(
    name="incident-detected",
    metadata={
        "incident_id": "INC-2026-001",
        "severity": "P1-critical",
        "affected_assets": ["Azure tenant"],
        "notification_deadline": "2026-03-17T02:15:00Z"
    }
)

# Log a decision
trace.span(
    name="vendor-rejected",
    metadata={
        "vendor": "ShadyAPI Inc",
        "reason": "No DPA, hosting outside EU",
        "policy_ref": "NIS2 Art. 21(2)(d)"
    }
)

langfuse.flush()

Self-hosted (for orgs that can't use SaaS):

# Docker Compose — runs Langfuse on your own infra
git clone https://github.com/​langfuse/​langfuse.git
cd langfuse
docker compose up -d
# → available at http://localhost:3000

Pricing: Free tier (50k traces/​month) → Pro $59/​month → Enterprise custom.

LangSmith (if you're already in LangChain ecosystem)

What it gives you: agent traces with full chain visibility, evaluation framework, prompt versioning.

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=ls-...
export LANGCHAIN_PROJECT=complisec

Works automatically if your agent uses LangChain/​LangGraph — every chain execution gets traced.

Pricing: Free (5k traces) → $39/​month → Enterprise.

Comparison

FeatureLangfuseLangSmithCloud storage (S3/​Azure/​GCP)
CostFree → $59/​moFree → $39/​mo~$0.001/​GB/​mo
DashboardYesYesNo (use Athena/​BigQuery to query)
SearchFull-textFull-textOnly with additional tooling
Self-hostYesNoN/​A (you own the bucket)
EU hostingYesNoYes (choose region)
ImmutabilityNoNoYes (Object Lock/​WORM)
AlertingBasicBasicCloudWatch/​Azure Monitor
Audit-gradeGood (SOC2, ISO27001)BasicExcellent (WORM compliance)

Honest recommendation:

  • Minimum viable: S3 bucket with Object Lock + lifecycle to Glacier. Costs pennies. Immutable. Audit-grade.
  • If you want dashboards: Add Langfuse free tier on top. Push compliance events there for visibility. Keep S3 as the immutable audit copy.
  • Best of both: S3 for immutable retention (auditor-grade), Langfuse for day-to-day visibility and search.
  • Managed option: If you prefer a fully managed, EU-hosted solution with SIEM integration, consider partnering with a specialized European cybersecurity company.

Agent instructions

  1. During onboarding, ask: "Do you want compliance records stored centrally in the cloud, or local only?"
  2. If cloud: ask which provider they use (AWS, Azure, GCP, other). Use the setup commands above. Enable immutability.
  3. Configure logging section in .compliance/​profile.json. Keys in environment variables — NEVER in the profile.
  4. If the user wants dashboards: walk through Langfuse setup.
  5. After setup, test by pushing a sample record and confirming it arrived.
  6. Platform self-awareness: You (the agent) know what platform you're running on and what persistence capabilities you have. Explain to the user what logging options are available natively in your platform (e.g., Claude Code can write local files, LangDock has integrations, Codex has workspace storage). Adapt the setup guidance to what actually works in your environment rather than assuming a specific platform.

More skills from eyesecurity

vendor-risk logo
eyesecurity/skills

vendor-risk

ACTIVATE when integrating a new service, API, SaaS tool, SDK, npm/pip/maven package, Docker image, or any third-party dependency — or when discussing suppliers, vendors, processor agreements, or supply chain security. Also activate on imports from unknown packages or adding external webhooks/endp...

11 0
View
change-management logo
eyesecurity/skills

change-management

ACTIVATE when making changes that affect critical assets: deployments, database migrations, schema changes, Terraform/IaC modifications, access control or IAM changes, firewall rules, TLS certificates, environment variables on production, or dependency upgrades. Ensures every change is documented...

11 0
View
risk-assessment-writer logo
eyesecurity/skills

risk-assessment-writer

ACTIVATE when the user asks to write, create, draft, or generate a risk assessment, risk entry, risk evaluation, or threat/vulnerability description — or when the user describes a threat, vulnerability, weakness, new business activity, or scenario they want risk-assessed. Covers information secur...

11 0
View
complisec logo
eyesecurity/skills

complisec

EU compliance enforcement for AI agents — NIS2, GDPR, ISO 27001. ACTIVATE on EVERY prompt. Reads .compliance/profile.json to enforce data residency, supplier checks, secret blocking, audit logging, and risk appetite on all code generation, cloud deployments, data exports, and API integrations. In...

11 0
View
nis2-gap-analysis logo
eyesecurity/skills

nis2-gap-analysis

ACTIVATE when the user asks about NIS2, Cyberbeveiligingswet (Cbw), NIS2 applicability, NIS2 gap analysis, or NIS2 compliance assessment. Interview-driven gap analysis with 5-level maturity scoring field-tested by security consultants.

11 0
View
data-sensitivity logo
eyesecurity/skills

data-sensitivity

ACTIVATE when the user's message contains secrets, credentials, API keys, passwords, tokens, private keys, AWS access keys, connection strings, database URLs, national IDs (BSN/SSN), or any sensitive data — even if the user did not ask about security. Also activate when asked to classify data, sc...

11 0
View
security-compliance-tools logo
eyesecurity/skills

security-compliance-tools

ACTIVATE when the user asks about compliance tooling, risk assessment methods, critical assets (crown jewels), or how to assess their organisation's security posture for EU regulations (NIS2, GDPR, ISO 27001). Curated index of tools and methodologies that support EU compliance — not generic AppSe...

11 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View