Código aberto · Autoalojado

Declare o uso de IA sem dependência de plataforma.

Um serviço Go sem estado para badges SVG, páginas explicativas e JSON-LD. Autoalojável, internacional e preparado para alta disponibilidade.

  • 8 idiomas
  • Sem cookies
  • Sem base de dados
  • Docker e Kubernetes

https://ai.trustednet.eu/badge/research.svg

Research badge Summary badge Full generation badge
{
  "@type": "AIUsageDeclaration",
  "schemaVersion": "1.1",
  "assurance": "selfDeclared"
}

Funcionalidades

Do aviso visível à declaração legível por máquina.

Avisos visíveis, resumos compreensíveis e declarações legíveis por máquina numa aplicação leve.

Visível

Badges SVG

Badges determinísticos e cacheáveis a partir de presets ou parâmetros estruturados.

Compreensível

Páginas de declaração

Explicam contribuição da IA, atividades, revisão e responsabilidade.

Legível por máquina

JSON-LD e esquema

Manifestos para pipelines de build e CMS.

Internacional

Oito idiomas

Alemão, inglês, francês, espanhol, italiano, neerlandês, português e polaco.

Offline

Licença assinada

Validação Ed25519 local sem servidor externo.

Escalável

Alta disponibilidade

Réplicas stateless, probes, HPA, Swarm e cache CDN.

Privacidade

Sem tracking obrigatório

Sem cookies, sessões, recursos externos ou analytics obrigatórios.

Deployment

Pronto para produção em poucos comandos.

Todas as variantes usam o mesmo binário Go e funcionam sem serviços externos.

Docker ComposeConfiguração declarativa local ou num único servidor.
cp .env.example .env
# Adjust BASE_URL and PUBLIC_NAME in .env
docker compose up -d --build
curl -fsS http://localhost:8080/readyz
Docker CLIConstrua a imagem e execute um contentor hardened.
docker build -t ai-disclosure-standard:1.6.2 .
docker run -d --name ai-disclosure \
  -p 8080:8080 \
  -e BASE_URL=https://ai.example.org \
  -e PUBLIC_NAME="AI Usage Disclosure" \
  --read-only --tmpfs /tmp \
  ai-disclosure-standard:1.6.2
KubernetesTrês réplicas, probes, rolling updates, HPA e PodDisruptionBudget.
# Image, Domain und TLS-Secret in deploy/kubernetes.yaml ersetzen
kubectl create secret generic ai-disclosure-license \
  --from-literal=token='...'
kubectl apply -f deploy/kubernetes.yaml
kubectl rollout status deployment/ai-disclosure
Docker SwarmVárias réplicas com Docker Swarm.
docker swarm init
export LICENSE_TOKEN='...'
export LICENSE_MODE='offline'
docker stack deploy -c deploy/swarm-stack.yaml ai-disclosure
Run with GoPara desenvolvimento, testes ou deployment nativo com systemd.
go test ./...
go build -trimpath -o bin/server ./cmd/server
BASE_URL=http://localhost:8080 \
PUBLIC_NAME="AI Usage Disclosure" \
./bin/server

Variáveis de ambiente importantes

VariávelPadrãoObjetivo
LISTEN_ADDRESS:8080Endereço de escuta do servidor HTTP.
BASE_URLhttp://localhost:8080URL pública sem barra final.
PUBLIC_NAMEAI Usage DisclosureNome do produto ou site.
CONTACT_URLhttps://ai.trustednet.euPágina externa opcional de contacto ou do projeto.
DEFAULT_LANGUAGEdeIdioma de fallback.
LICENSE_TOKEN-Token de licença assinado pelo fornecedor.
LICENSE_MODEofflineModo mínimo: offline, hybrid ou online.
LICENSE_SERVER_URL-Servidor central opcional para os modos híbrido e online.

FAQ

Perguntas frequentes

Posso usar um CDN?

Sim. Badges e manifestos são determinísticos e incluem ETag e Cache-Control.

Isto garante conformidade legal?

Não. É infraestrutura técnica e não substitui análise jurídica ou responsabilidade editorial.

Comece aberto. Adicione a marca apenas quando necessário.

O gerador funciona sem registo. Pro adiciona textos, cores e domínios personalizados.