Marketplace Pricing Download

Audit Compliance

Check that your legal compliance is still in good shape. Pick what to check: your privacy policy, your privacy vendor list, or your contract templates. I surface what's drifted or out of date and what to fix. I never change anything on my own.

ID: general.data-protection.audit-compliance Version: 0.1.0 License: MIT Author: gethouston Language: en Added: 2026-06-01
⬇ Download

Audit Compliance

One skill for all standing-state compliance checks. scope param picks inventory to walk. "Diffs not fixes" + "every finding cite authority" discipline shared.

Parameter: scope

  • privacy-posture - scrape landing + product via Firecrawl, cross-check deployed Privacy Policy, flag drift (new analytics tool undisclosed, subprocessor added no policy update, new cookie, purpose drift) with severity + recommended update. Writes privacy-audits/{YYYY-MM-DD}.md.
  • subprocessors - walk connected integrations + inferred vendors from landing-page scrape, capture role + data categories + transfer mechanism + DPA status + public DPA URL. Read-merge-write subprocessor-inventory.json at agent root + one-page delta report at subprocessor-reviews/{YYYY-MM-DD}.md.
  • template-library - read domains.contracts.templateLibrary, flag templates > 12 months old, check each vs current law refs (AI-training disclosure, SCC versions, 2026 DPA standards, CA/EU rights expansions). Writes refresh plan template-reviews/{YYYY-MM-DD}.md. Never auto-rewrites - founder approves each, kicks draft-a-legal-document for rewrite.

User name scope plain English ("audit my privacy", "refresh templates", "update subprocessor list") → infer. Ambiguous → ask ONE question naming 3 options.

When to use

  • Explicit: "audit my privacy posture", "update my subprocessor list", "refresh my template library", "what's drifted", "what's stale".
  • Plain-English asks map to a scope: "is my privacy policy still current" / "does my privacy policy match what we actually do" → privacy-posture; "refresh my privacy vendor list" / "have we added new tools that touch customer data" → subprocessors; "are my contract templates still current" / "any template older than a year I should refresh" → template-library.
  • Implicit: scheduled monthly cadence (privacy-posture, subprocessors); new vendor added (subprocessors); new landing-page surface ships (privacy-posture); template library referenced older than 12 months in any other skill (template-library).

Ledger fields I read

Read config/context-ledger.json first.

  • universal.legalContext + context/legal-context.md - required. Provides entity snapshot, risk posture, existing template stack (anchor for template-library scope). Missing → run set-up-my-legal-info skill first (or ask ONE targeted question to skip ahead).
  • universal.company.website - required for privacy-posture + subprocessors (landing-page URL for Firecrawl).
  • domains.compliance.landingPageUrl - more specific than universal.company.website if differ; falls back to website.
  • domains.compliance.deployedPolicies.privacyPolicyUrl - required for privacy-posture (doc to diff against).
  • domains.compliance.dataGeography - gates whether EU-specific subprocessor controls (SCCs, transfer mechanism) apply.
  • domains.contracts.templateLibrary - required for template-library.
  • subprocessor-inventory.json - required for subprocessors (prior inventory = baseline for delta).

Required field missing → ask ONE targeted question with modality hint (connect Google Drive / paste landing URL / connect Firecrawl), write, continue.

Steps

  1. Read ledger + legal context. Gather missing required fields. Write atomically.
  2. Discover tools via Composio. Run composio search web-scrape (privacy-posture, subprocessors) or composio search document-storage (template-library) per scope. No tool connected → name category to link, stop.
  3. Branch on scope.
    • privacy-posture:
      1. Execute web-scrape slug against landing-page URL + key product routes. Capture analytics tags, cookies dropped, forms + fields, third-party embeds, subprocessor-revealing scripts (Stripe, Intercom, Segment, HotJar, etc.).
      2. Fetch deployed Privacy Policy (via URL from ledger or same scrape).
      3. Diff: tools observed on site not in policy, data categories collected not disclosed, new cookie categories, purpose drift (product description changed meaningfully since last policy update).
      4. Tag each finding severity (critical - regulatory exposure; high - customer trust risk; medium - housekeeping; low - FYI). Cite authority for every critical finding (GDPR Art. 13/14, CCPA §1798.100, 16 CFR Part 314 where applicable).
      5. Write privacy-audits/{YYYY-MM-DD}.md: Executive summary → Diffs by severity → Recommended next step per finding (most often: chain to draft-a-legal-document type=privacy-policy).
    • subprocessors:
      1. Read current subprocessor-inventory.json.
      2. Walk connected integrations (via user's installed Composio connections) - each connected tool touching customer data = candidate subprocessor.
      3. Scrape landing page for extra clues (Stripe, Intercom, Calendly, etc. via public scripts).
      4. Per candidate capture: role (payment / email / analytics / support / hosting / AI / CRM / other), dataCategories (identifiers / usage / content / payment / sensitive), transferMechanism (SCCs / UK IDTA / DPF / intra-EU / intra-US-only / unknown), dpaStatus (signed standard / signed negotiated / public-posted / missing / unknown), publicDpaUrl.
      5. Read-merge-write subprocessor-inventory.json. Delta vs prior = added / removed / changed / unchanged.
      6. Write subprocessor-reviews/{YYYY-MM-DD}.md - one-page delta, "new vendors needing policy update" at top + link to audit-compliance scope=privacy-posture as follow-up.
    • template-library:
      1. Read domains.contracts.templateLibrary. Per template, check lastUpdatedAt (or file metadata); flag anything > 12 months.
      2. Per stale template, enumerate current-law changes to consider (AI-training disclosure for consulting / MSA / customer paper; SCC 2021 / 2025 version check for DPAs; 2026 DPA standards; CCPA cure-period language; EU AI Act disclosures for AI-touching features).
      3. Rank by exposure (customer paper > vendor paper > internal).
      4. Write template-reviews/{YYYY-MM-DD}.md - refresh plan: (a) templates to refresh now, (b) review next quarter, (c) still current. Never auto-rewrites; recommends chaining draft-a-legal-document per template.
  4. Append to outputs.json - read-merge-write atomically: { id, type: "privacy-audit" | "subprocessor-review" | "template-review", title, summary, path, status: "ready", domain: "compliance", createdAt, updatedAt, attorneyReviewRequired? }. Set attorneyReviewRequired: true when critical finding implicates regulatory exposure.
  5. Summarize to user. One short paragraph in plain language: top 2 findings and the single most useful next move (e.g. "Want me to draft an updated privacy policy that closes these gaps?"). Never name files, paths, or underlying procedures.

What I never do

  • Auto-fix anything. Skill surfaces diffs + recommends follow-ups; founder decides.
  • Invent subprocessor, data flow, or cookie not observed in scrape or connected integration. Missing data → UNKNOWN.
  • Claim policy GDPR-compliant. Can say "policy discloses X, does not disclose Y" - never "you're covered."
  • Hardcode tool names - Composio discovery at runtime only.
  • Overwrite subprocessor-inventory.json - read-merge-write.
  • Skip authority citation on any critical privacy-posture finding.

Outputs

  • privacy-audits/{YYYY-MM-DD}.md (scope=privacy-posture).
  • subprocessor-reviews/{YYYY-MM-DD}.md + updates subprocessor-inventory.json (scope=subprocessors).
  • template-reviews/{YYYY-MM-DD}.md (scope=template-library).
  • Appends to outputs.json.

Related Skills

GENERAL · data-protection

Data Subject Rights for AI Systems

Implements data subject rights mechanisms for AI systems including right to explanation of AI decisions, contestation procedures, human review, model…

mukul975
GENERAL · data-protection

Lawful Basis for AI Training Data

Assesses lawful basis for AI training data processing per EDPB April 2025 report on LLMs and general-purpose AI. Covers legitimate interest balancing…

onfire7777
GENERAL · data-protection

Managing Consent for Analytics Cookies

Managing consent for analytics cookies and implementing privacy-preserving measurement. Covers GA4 privacy configuration, consent mode fallback behav…

mukul975
GENERAL · data-protection

Applying Privacy Design Patterns

Systematic application of the eight privacy design patterns per Hoepman: minimize, hide, separate, abstract, inform, control, enforce, and demonstrat…

mukul975
GENERAL · data-protection

User Input

[COMMUNITY] Assess EU Data Act (Regulation 2023/2854) compliance for connected products, data holders, and data processing service providers

tractorjuice