From socialforge
Embed C2PA provenance manifests into SocialForge AI-generated assets for EU AI Act compliance. Signs images, video, audio with machine-readable content credentials.
How this skill is triggered — by the user, by Claude, or both
Slash command
/socialforge:c2pa-signThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Asset-heavy skill. **Grep before Read** the asset catalog (`${CLAUDE_PLUGIN_DATA}/<brand>/assets/index.json`) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.
Asset-heavy skill. Grep before Read the asset catalog (${CLAUDE_PLUGIN_DATA}/<brand>/assets/index.json) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.
Wraps scripts/c2pa_sign.py to add a C2PA manifest to any SocialForge-generated marketing asset. The manifest carries:
TRAINED_ALGORITHMIC_MEDIA / COMPOSITE_WITH_TRAINED_ALGORITHMIC_MEDIA / HUMAN_EDITS)Why this matters: EU AI Act Article 50 applies from 2 August 2026. Generative-AI marketing content distributed in EU markets must be marked in a machine-readable format using open, interoperable standards — C2PA is the emerging backbone. Penalty: up to €15 million or 3% global annual turnover. Additional disclosure obligations apply under NY synthetic-performer law (effective June 2026) and FTC May 2026 endorsement guidance.
The resulting asset is verifiable at contentcredentials.org/verify or in any C2PA-aware viewer (Adobe Photoshop, Lightroom, Truepic, Microsoft Copilot, etc.).
c2pa.ai-disclosure) — machine-readable AI transparency info that the EU AI Act Article 50 deployer pathway will read. When c2pa_sign.py is on a C2PA SDK ≥ 0.36 that handles 2.4, include this assertion alongside the existing IPTC + schema.org tags. The combination is what the EU Code of Practice WG1/WG2 drafts reference as the canonical machine-readable mark.For the regulatory context (EU Article 50 voluntary Code of Practice, WG1 providers vs WG2 deployers split, where SocialForge falls), see Digital Marketing Pro's skills/context-engine/eu-code-of-practice.md — this is shared regulatory knowledge across the Neelverse Marketing Suite.
If a brand profile sets c2pa_auto_sign: true, the image and video generation pipelines call this script as a post-generation step before delivering the asset. The signed file replaces the unsigned one — original output path is preserved.
If the brand profile does NOT set c2pa_auto_sign: true, generated assets are unsigned by default. You can sign on demand by invoking this skill explicitly.
# Sign an image generated by Vertex AI for Instagram
/socialforge:c2pa-sign \
--input assets/q3-launch-hero.png \
--output assets/signed/q3-launch-hero.png \
--brand "Acme Corp" \
--generator "Vertex AI Nano Banana Pro" \
--ai-claim ai-generated-content \
--platform instagram
# Sign a video generated by Kling for TikTok
/socialforge:c2pa-sign \
--input campaigns/launch.mp4 \
--output campaigns/signed/launch.mp4 \
--brand "Acme Corp" \
--generator "WaveSpeed Kling v3.0 Pro" \
--ai-claim ai-generated-content \
--platform tiktok
# Production sign with a real C2PA certificate
/socialforge:c2pa-sign \
--input assets/q3-launch-hero.png \
--output assets/signed/q3-launch-hero.png \
--brand "Acme Corp" \
--generator "Vertex AI Nano Banana Pro" \
--ai-claim ai-generated-content \
--platform instagram \
--signing-cert /secure/c2pa-prod-cert.pem \
--signing-key /secure/c2pa-prod-key.pem
| Value | When to use |
|---|---|
ai-generated-content | Asset fully generated by AI (default for SocialForge image/video output) |
ai-assisted-edits | Human-created asset with AI editing (e.g. brand-watermarked stock photo + AI background replacement) |
ai-no-substantive-changes | AI used but no semantic change (e.g. AI upscaling, AI noise reduction) |
Image: .png · .jpg/.jpeg · .webp · .gif · .tiff
Video: .mp4 · .mov · .webm
Audio: .mp3 · .wav
Production C2PA signatures require a certificate from a CAI-recognized signing authority (Adobe, Truepic, Numbers Protocol, Microsoft Azure Confidential Ledger). Pass --signing-cert and --signing-key for production. If omitted, the script generates a self-signed 90-day dev certificate — assets sign successfully but verify as "signature present, signer not in trust list" at contentcredentials.org/verify. Do not ship dev-cert-signed assets to production.
For production deployment:
c2pa_signing_cert_path and c2pa_signing_key_path in brand profile so the auto-sign hook picks them upReference: opensource.contentauthenticity.org/docs/manifest/signing-manifests/
c2pa-python>=0.32.6 — auto-installed on first runcryptography — only required for the dev self-signed cert path; auto-installed if missingThese are part of SocialForge's full install. The script auto-installs them via pip install --quiet on first invocation if not present.
JSON status report to stdout:
{
"status": "success",
"input": "assets/q3-launch-hero.png",
"output": "assets/signed/q3-launch-hero.png",
"size_bytes": 482371,
"brand": "Acme Corp",
"generator": "Vertex AI Nano Banana Pro",
"ai_claim": "ai-generated-content",
"c2pa_digital_source_type": "TRAINED_ALGORITHMIC_MEDIA",
"platform": "instagram",
"created": "2026-05-17T10:30:00+00:00",
"manifest_embedded_and_verified": true,
"c2pa_active_manifest_id": "urn:c2pa:...",
"using_dev_cert": false,
"verify_url": "https://contentcredentials.org/verify"
}
This skill is intentionally self-contained — SocialForge does not depend on digital-marketing-pro being installed. The signing logic mirrors DMP's embed-c2pa.py exactly, so an asset signed by either plugin verifies identically (same manifest schema, same IPTC vocabulary, same C2PA spec).
If you run both plugins, a SocialForge-signed asset can be referenced from a DMP engagement (Part 11 — AI Creative Instructions output) without re-signing.
scripts/c2pa_sign.py — the underlying implementationscripts/generate_image.py — calls c2pa_sign.py as a post-step when brand profile has c2pa_auto_sign: truescripts/video_postprocess.py — same auto-sign hook for video outputreferences/eu-ai-act-article50.md — regulatory context/digital-marketing-pro:c2pa-metadata — equivalent skill in the DMP plugin; either produces interoperable manifestsnpx claudepluginhub indranilbanerjee/socialforgeBuilds a tamper-evident provenance manifest for Spotlight case artifacts, with optional Noosphere C2PA signing before final review delivery.
Stamps files with trust scores, source provenance, and compliance metadata. Reads and audits AI-generated content for EU AI Act, SOX, HIPAA. Embeds into 20+ formats.
Guides multimodal media authentication and deepfake forensics using provenance checks, metadata review, PRNU/noise analysis, temporal consistency, semantic forensics, and evidence reporting.