Padrão Aberto · Perfil W3C VC 2.0

Fatos verificáveis
para agentes de IA

Cada feed de dados é uma Credencial Verificável W3C. Cada fonte certificada. Cada assinatura verificável de forma independente — sem intermediário de confiança.

ecdsa-rdfc-2022 JSON-LD · Linked Data MCP-native MIT Licensed
VerifiableCredential · selic-rate.json

Origem · 2025

O problema apareceu
construindo um SaaS

Eu estava construindo um produto SaaS em que bots conversacionais precisavam manter conversas úteis com usuários — turno após turno, ancoradas em dados factuais: preços, taxas, informações de produto, referências regulatórias. Cada resposta precisava se sustentar diante de quem fosse agir sobre ela.

Funcionava bem o suficiente. Então surgiu uma pergunta que não podia ser ignorada:

Como a IA sabe o que sabe?

Quando o modelo dizia "este produto custa X" ou "a regra exige Y", estava ancorando sua afirmação em dados que lhe foram fornecidos. Mas esses dados tinham uma fonte. A fonte tinha um timestamp. O timestamp tinha um contexto. E em nenhum ponto dessa cadeia havia uma única garantia criptográfica de que os dados recebidos pelo modelo eram os dados realmente publicados, pela organização que afirmava tê-los publicado, no momento em que afirmava tê-los publicado.

O modelo raciocinava sobre fatos que não conseguia verificar. Em um produto onde os usuários agiriam sobre essas respostas — comprando, assinando, decidindo — isso era um problema que não podia ser aceito.


O Padrão · CDS v0.2.0 → v0.3.0

Um perfil W3C VC 2.0
para dados em tempo real

A especificação W3C Verifiable Credentials 2.0 resolve o mesmo problema que o CDS resolve — afirmações criptograficamente verificáveis sobre um sujeito por um emissor identificado — mas para todo o ecossistema. O CDS é um perfil: um conjunto de convenções para aplicar essa infraestrutura a dados factuais em tempo real.

Construído sobre as quatro regras de Linked Data de Tim Berners-Lee. Cada identidade é um URI HTTP dereferenciável. Cada evento é JSON-LD válido. Cada prova é verificável independentemente, sem dependência da disponibilidade do signed-data.org.

v0.1.0 — opaque strings

"content_type": {
  "domain": "lottery.brazil",
  "schema_name": "mega-sena.result"
},
"source": {
  "id": "caixa.gov.br.loterias.v1"
},
"integrity": {
  "signed_by": "signed-data.org"
}
v0.3.0

v0.3.0 — W3C Verifiable Credential

"type": ["VerifiableCredential", "CuratedDataEvent"],
"issuer": "https://signed-data.org",
"credentialSubject": {
  "id": "https://signed-data.org/sources/...",
  "content_type": "https://signed-data.org/vocab/..."
},
"proof": {
  "type": "DataIntegrityProof",
  "cryptosuite": "ecdsa-rdfc-2022"
}

Linha de Produtos · Operado pela Wdotnet

Dezesseis servidores MCP.
Todos verificavelmente factuais.

Cada servidor é uma aplicação FastMCP que expõe dados brasileiros assinados. Cada resposta de ferramenta é uma Credencial Verificável W3C emitida pelo signed-data.org. Qualquer consumidor com a chave pública pode verificar de forma independente.

🎰

mcp-lottery

lottery.brazil

Mega Sena, Lotofácil, Quina, Lotomania, Dupla Sena. 5 ferramentas por jogo. Assinado em segundos após cada sorteio oficial.

Live

🏢

mcp-companies

companies.brazil

Consulta de CNPJ na Receita Federal. Perfil, sócios (QSA), status de sanções. Assinado no momento da consulta. Cache de 24h.

Live

📈

mcp-finance

finance.brazil

SELIC, CDI, IPCA, PTAX do Banco Central. Cotações B3, FIIs, cripto via Brapi. Decisões do Copom.

Live

🌾

mcp-commodities

commodities.brazil

Futuros agrícolas B3 (soja, milho, boi gordo, café, açúcar, etanol). Preços spot semanais CONAB por estado.

Live

🌤

mcp-weather

weather

Condições atuais e previsões via Open-Meteo. Sem chave de API. Assinado a cada 30 minutos para cidades brasileiras e internacionais.

Live

mcp-sports

sports.football

Brasileirão, Libertadores, Copa do Brasil, Premier League, Champions League. Placares ao vivo e classificações.

Live

🏛

mcp-gov-br

government.brazil

Portal da Transparência. Gastos federais, contratos, licitações. Sanções CEIS+CNEP. Token de API disponível.

Live

📊

mcp-ibge

demographics.brazil

População municipal, PIB, IDEB, microdados censitários. Cada cidade brasileira, assinada pela API oficial do IBGE.

Live

⚖️

mcp-processo

legal.brazil

Consulta de processos judiciais CNJ DataJud por CNPJ/CPF. Combinado com mcp-companies: due diligence completo.

Live

💱

mcp-currency

currency.brazil

Taxas oficiais BCB PTAX, pares de câmbio LATAM e conversão em tempo real. Gratuito, sem chave de API.

Live

📉

mcp-b3-fundamentus

finance.brazil

Dados Fundamentus para ações B3: P/L, EV/EBITDA, dividend yield, trimestres DRE, ranking setorial.

Live

📰

mcp-noticias

news.brazil

Manchetes brasileiras assinadas do GDELT. Cada item entregue como Credencial Verificável W3C.

Live

📮

mcp-cep

location.brazil

Consulta de endereço por CEP — logradouro, bairro, cidade e estado via BrasilAPI e ViaCEP. Assinado com fingerprint da fonte.

Live

📖

mcp-bible

religion.bible

Versículos e passagens bíblicas assinados — Almeida (pt), KJV, WEB e Darby. Versículo diário rotativo via bible-api.com.

Live

💊

mcp-anvisa

regulatory.brazil

Busque medicamentos, cosméticos e alimentos no registro oficial da ANVISA. API pública, sem autenticação. Resultados assinados.

Live

mcp-energia

energy.brazil

Tarifas de energia elétrica ANEEL e dados de distribuidoras do portal oficial de dados abertos do Brasil. Gratuito, anônimo. Resultados assinados.

Live

👷

mcp-caged

employment.brazil

Saldo de empregos formais CAGED por estado e município. Admissões, desligamentos e saldo mensal via BrasilAPI/MTE. Gratuito, anônimo. Resultados assinados.

Live

📊

mcp-focus

finance.brazil

Expectativas de mercado do Relatório Focus do Banco Central. Projeções de Selic, IPCA, PIB e câmbio agregadas de ~120 instituições. API Olinda BCB, gratuito.

Live

Servidores MCP hospedados pela Wdotnet Endpoints prontos para produção. Sem infraestrutura própria. Conecte seu agente diretamente. Cada credencial emitida pelo signed-data.org.
Acesso gratuito →

Modelo de Segurança

O que a assinatura
realmente prova

O W3C DataIntegrityProof (ecdsa-rdfc-2022) cobre a serialização RDF canônica de cada evento. Quatro propriedades são garantidas independentemente da disponibilidade da Wdotnet.

01

Autenticidade da fonte

O credentialSubject.id é o URI de fonte certificado — assinado. Qualquer modificação de qual API forneceu os dados invalida a prova. Ataques MITM na API upstream produzem credenciais inválidas.

"id": "https://signed-data.org/sources/api.bcb.gov.br.v1"

02

Integridade do payload

O payload faz parte do documento canônico assinado. Um único dígito alterado na taxa SELIC, status CNPJ ou dezenas de loteria invalida a verificação da prova. Consumidores detectam adulterações de forma independente — sem chamada de rede.

verifier.verify(credential) # → True or raises

03

Timestamp de emissão

O campo validFrom é assinado. Ataques de replay — usar a taxa SELIC de ontem como sendo de hoje — são detectáveis. Consumidores aplicam janelas de validade com base no timestamp assinado.

"validFrom": "2026-04-25T18:00:03Z" # signed

04

Responsabilidade do emissor

O proof.verificationMethod resolve para a chave pública em signed-data.org/keys/1. O documento do emissor em signed-data.org/issuer identifica a entidade legal: Wdotnet, CNPJ 24.921.472/0001-45.

"issuer": "https://signed-data.org" # dereferenceable

Arquitetura

Fonte certificada → evento assinado
→ verificado pelo seu agente

Passo 01

📡

Fonte certificada

Os ingestores da Wdotnet buscam dados de APIs certificadas — BCB, Receita Federal, BrasilAPI, Caixa. Cada fonte possui um registro no source registry do signed-data.org com sua URL, licença e domínios certificados.

Passo 02

🔏

Assinar e emitir

A resposta bruta recebe um fingerprint (SHA-256). O payload é normalizado, encapsulado em um envelope VerifiableCredential e assinado com ECDSA P-256. A credencial é armazenada e servida via endpoints MCP.

Passo 03

Agente verifica

Seu agente chama uma ferramenta MCP e recebe uma VerifiableCredential. Qualquer biblioteca VC compatível com W3C verifica o DataIntegrityProof contra a chave pública em signed-data.org/keys/1. Zero código personalizado. Zero confiança na disponibilidade da Wdotnet.


Roadmap

De eventos assinados
ao ecossistema VC completo

v0.1.0 · Concluído

Eventos de dados assinados

Assinatura RSA-PSS customizada. Identidades opacas. SDKs Python e TypeScript. mcp-lottery com 16/16 testes passando.

RSA-PSS SHA-256 Python SDK TypeScript SDK mcp-lottery

v0.2.0 · Em andamento

Reconstrução Linked Data

Cada identidade torna-se um URI HTTP dereferenciável. Eventos são JSON-LD válido. Source registry publicado em signed-data.org/sources/. Atinge classificação W3C 5 estrelas de dados abertos.

JSON-LD URI identities Source registry Vocab ontology

v0.3.0 · Planejado

Perfil W3C Verifiable Credentials 2.0

CDS torna-se um perfil VC 2.0. integrity block → DataIntegrityProof. RSA-4096 → ECDSA P-256. Qualquer biblioteca VC verifica com zero código personalizado. did:web para identidade do emissor. Dados abertos 5 estrelas com interoperabilidade total.

VerifiableCredential ecdsa-rdfc-2022 did:web DataIntegrityProof

v0.4.0 · Visão

Integração completa com ecossistema DID

Emissor migra para did:web:signed-data.org. VC Status List 2021 para supersessão de credenciais. Protocolo de apresentação OpenID4VC. Endpoint SPARQL para consulta de credenciais como RDF.

DID Resolution OpenID4VC StatusList2021 SPARQL

Alucinação é um erro grave.

Se uma IA vai agir sobre um fato, alguém deve ter assinado esse fato.