01
Content needs context.
Digital content is no longer created in one way. UCNG makes the declared creation context portable.
UCNG · Open by design
UCNG provides a common language for describing how digital content was created or transformed. The reference implementation combines a human-readable declaration with machine-readable data – independent of platform, vendor and medium.
https://ai.trustednet.eu/badge/research.svg
{
"@type": "AIUsageDeclaration",
"schemaVersion": "1.2",
"assurance": "selfDeclared"
}
Content transparency
UCNG describes origin and transformation. It does not judge the truth or quality of content.
01
Digital content is no longer created in one way. UCNG makes the declared creation context portable.
02
Compact labels and readable declaration pages explain the stated creation and transformation process.
03
The same information is available as structured JSON-LD for platforms, systems and build workflows.
04
HUMAN, AI ASSISTED, MIXED and AI GENERATED provide a compact classification; details record activity, human review and declaration status.
Open
The application is self-hostable and does not bind a declaration to a particular publisher, AI vendor or platform.
Neutral
A UCNG badge indicates that a declaration exists. It does not automatically mean verified, certified, true or legally compliant.
Interoperable
Text, image, audio, video, code and more can be described using the same declaration logic.
Deployment
Every deployment uses the same Go binary and can run without external services.
cp .env.example .env
# Adjust BASE_URL and PUBLIC_NAME in .env
docker compose up -d --build
curl -fsS http://localhost:8080/readyz
docker build -t ai-disclosure-standard:2.0.2 .
docker run -d --name ai-disclosure \
-p 8080:8080 \
-e BASE_URL=https://ai.example.org \
-e PUBLIC_NAME="UCNG" \
--read-only --tmpfs /tmp \
ai-disclosure-standard:2.0.2
# Image, domain and TLS secret in deploy/kubernetes.yaml ersetzen
kubectl apply -f deploy/kubernetes.yaml
kubectl rollout status deployment/ai-disclosure
# Licensed bulk service (optional)
kubectl apply -f deploy/kubernetes-bulk.yaml
docker swarm init
docker stack deploy -c deploy/swarm-stack.yaml ai-disclosure
# Optional licensed bulk deployment: deploy/swarm-bulk-stack.yaml
go test ./...
go build -trimpath -o bin/server ./cmd/server
BASE_URL=http://localhost:8080 \
PUBLIC_NAME="UCNG" \
./bin/server
| Variable | Default | Purpose |
|---|---|---|
LISTEN_ADDRESS | :8080 | HTTP server bind address. |
BASE_URL | http://localhost:8080 | Public base URL without a trailing slash. |
PUBLIC_NAME | AI Usage Disclosure | Product or site title. |
CONTACT_URL | https://ai.trustednet.eu | Optional external contact or project page. |
DEFAULT_LANGUAGE | de | Fallback output language. |
SERVICE_MODE | full | Runtime mode: full, api or bulk. |
LICENSE_TOKEN | – | Vendor-signed licence token. |
LICENSE_MODE | offline | Minimum mode: offline, hybrid or online. |
LICENSE_SERVER_URL | – | Optional central verification server for hybrid and online mode. |
API_ALLOWED_ORIGIN | * | Allowed CORS origin for API endpoints; empty disables CORS. |
FAQ
No. UCNG describes the declared creation and transformation process. A UCNG badge does not automatically mean verified, certified, true or legally compliant.
No. UCNG is positioned as an independent open framework. Regulatory context can be documented, but it is not the same as a UCNG Declaration.
Create a UCNG Declaration and make the stated creation context readable to people and machines.