SignUnder has made its entire production codebase public on GitHub at AivaStack/signunder under the Apache-2.0 license, effective 20 October 2026. This release includes the API, the C2PA signer, watermark and fingerprint workers, the rules engine, and SDKs for .NET and Python. The move allows developers to inspect exactly how the hosted service marks AI-generated images to comply with regulations like the EU AI Act.

Inside the Repository Architecture

The stack is polyglot and pragmatic: a .NET 10 API handles signing, verification, and registry management, while a Rust gRPC service wraps c2pa-rs for manifest creation. A separate Python worker handles invisible TrustMark watermarks and PDQ perceptual hashing to survive metadata stripping. The rules engine ships with eight pre-configured packs covering jurisdictions including the EU, California, China, South Korea, India, and New York.

Running It Locally vs. Production

Developers can spin up the full service using Docker via make up, but local testing uses a development certificate that isn't recognized by standard Content Credentials viewers. Production-grade signing requires a key in a KMS or HSM and a certificate from a CA that has passed the C2PA conformance program. SignUnder notes that current support is limited to JPEG, PNG, and WebP images, with watermark robustness still under evaluation against aggressive cropping.

Why This Matters for Builders

Eoin Butler, SignUnder's developer, states that opening the code allows companies to verify what runs on their behalf or self-host entirely. Much of the code was generated with Claude Code, and decision records in docs/adr/ provide transparency into technical choices. This transparency is critical for a service that asserts legal compliance based on a specific reading of evolving AI regulations.

Key Takeaways

  • The entire production stack is open-source under Apache-2.0, including the Rust signer and Python workers.
  • Local instances use development certificates and are not recognized by public C2PA viewers without conformance.
  • The rules engine includes eight jurisdictional packs, each citing primary legal sources and read dates.
  • Current image support is limited to JPEG, PNG, and WebP, with watermark durability varying by crop intensity.

The Bottom Line

Open-sourcing the signing stack is a smart trust-building move, but the reliance on C2PA conformance for public recognition means self-hosting remains a significant operational hurdle for most developers.