Traducción informativa de la versión en inglés, actualizada el 28/10/2026. Si difieren, prevalece la versión en inglés. Los identificadores, comandos y bloques de código se conservan sin traducir.
DCP-AI — Digital Citizenship Protocol para agentes de IA¶
Una capa portable de rendición de cuentas para agentes de IA en redes abiertas¶
¿Qué es DCP?¶
El Digital Citizenship Protocol (DCP) define una capa portable de rendición de cuentas para agentes de IA que permite a cualquier verificador evaluar:
- Quién es responsable de un agente (vinculación con el principal responsable),
- Qué declaró el agente que pretendía hacer (declaración de intención),
- Qué resultado de política se aplicó (decisión de política),
- Qué evidencia verificable se produjo (rastro de auditoría),
- Cómo se gestionan los agentes a lo largo de su ciclo de vida (gestión del ciclo de vida),
- Qué ocurre cuando los agentes hacen una transición o se retiran (sucesión digital),
- Cómo se resuelven los conflictos entre agentes y principales (resolución de disputas),
- Qué derechos y obligaciones rigen el comportamiento del agente (marco de derechos), y
- Cómo se delega la autoridad de las personas a los agentes (representación personal).
DCP combina firmas criptográficas, cadenas de hash y verificación independiente sin exigir un servicio central de verificación. En V2, el RPR, el pasaporte, la intención y la decisión de política se firman individualmente; las entradas de auditoría quedan comprometidas mediante el manifiesto firmado, en lugar de firmarse individualmente.
Este protocolo lo crearon conjuntamente una persona y un agente de IA: está diseñado para la colaboración que pretende gobernar.
Arquitectura¶
DCP se organiza en tres capas conceptuales:
DCP Core¶
El protocolo interoperable mínimo que toda implementación debe admitir. Core define los artefactos, sus relaciones y el modelo de verificación:
- Responsible Principal Binding — vincula cada agente con una persona o entidad jurídica que asume la responsabilidad
- Agent Passport — la identidad portable del agente, sus capacidades y su material de claves
- Intent Declaration — declaración estructurada de lo que el agente pretende hacer, antes de actuar
- Policy Outcome — la decisión de autorización aplicada a una intención
- Action Evidence — entradas de auditoría encadenadas por hash que permiten detectar manipulaciones, con pruebas de Merkle
- Bundle Manifest — el paquete portable que une todos los artefactos para su verificación
Véase spec/core/ para la especificación del núcleo.
Perfiles¶
Extensiones y especializaciones que se construyen sobre el núcleo pero no son necesarias para la interoperabilidad básica:
- Crypto Profile — selección de algoritmos, firmas híbridas poscuánticas, agilidad criptográfica, política del verificador (spec/profiles/crypto/)
- Agent-to-Agent (A2A) Profile — descubrimiento, handshake, gestión de sesiones, vinculaciones de transporte (spec/profiles/a2a/)
- Governance Profile — niveles de riesgo, atestación de jurisdicción, revocación, recuperación de claves, ceremonias de gobernanza (spec/profiles/governance/)
Servicios¶
Infraestructura operativa que da soporte al protocolo pero no forma parte del núcleo normativo:
- Servidores de verificación, servicios de anclaje, registros de transparencia, registros de revocación
- Son decisiones de despliegue, no requisitos del protocolo
Especificaciones del protocolo¶
| Especificación | Título | Descripción |
|---|---|---|
| DCP-01 | Identidad y vinculación humana | Identidad del agente, atestación del operador, vinculación de claves |
| DCP-02 | Declaración de intención y control por política | Intenciones declaradas, aplicación de niveles de seguridad, evaluación de políticas |
| DCP-03 | Cadena de auditoría y transparencia | Entradas de auditoría encadenadas por hash, pruebas de Merkle, registros de transparencia |
| DCP-04 | Comunicación entre agentes | Mensajería autenticada entre agentes, delegación, cadenas de confianza |
| DCP-05 | Gestión del ciclo de vida del agente | Poner en servicio, supervisar, declinar y retirar agentes con una máquina de estados |
| DCP-06 | Sucesión digital y herencia | Testamentos digitales, transferencia de memoria, designación de sucesor |
| DCP-07 | Resolución de conflictos y arbitraje de disputas | Disputas, niveles de escalado, arbitraje, jurisprudencia |
| DCP-08 | Marco de derechos y obligaciones | Declaraciones de derechos, registros de obligaciones, notificación de vulneraciones |
| DCP-09 | Representación personal y delegación | Mandatos de delegación, cadenas verificables de subdelegación hasta la persona, umbrales de atención, espejos del principal |
| DCP-AI v2.0 | Especificación normativa poscuántica | Especificación v2.0 completa con criptografía PQ híbrida y modelo de seguridad de 4 niveles |
Véase también: Especificación del núcleo | Resumen de los perfiles
Inicio rápido¶
Paquetes publicados. Las versiones actuales en npm, PyPI, módulos Go y crates.io están en Versiones publicadas, con las notas de actualización de seguridad. Para ejecutar el CLI de referencia y las pruebas del repositorio, compila el checkout:
Para producir y verificar evidencias, usa la opción B: SDK directamente. La opción A es una demo: incluye claves PQ simuladas y registros sin firmar.
Opción A: asistente de la CLI (demo)¶
El asistente interactivo (@dcp-ai/cli) pide un nombre, una jurisdicción, un framework y un nivel de seguridad, y escribe
una carpeta .dcp/ con claves y registros con forma de RPR y de pasaporte. Es una demo, no una forma de crear una identidad V2:
sus claves «ML-DSA-65» están simuladas (bytes aleatorios), y los registros no están firmados ni cumplen los esquemas V2.
Para crear una identidad y bundles que verifiquen, sigue el inicio rápido de tu SDK (opción B). Los límites se enumeran
en
Creación de agentes.
El asistente de este repositorio necesita @dcp-ai/sdk 2.2.1; desde una copia del repositorio (tras compilar el SDK como arriba), ejecútalo
en el directorio de tu proyecto:
cd /path/to/dcp-ai/cli
npm install --no-save --package-lock=false --ignore-scripts --install-links ../sdks/typescript
cd /path/to/your-project && node /path/to/dcp-ai/cli/bin/dcp-ai.js init
La CLI de referencia de más bajo nivel, bin/dcp.js en la raíz de la copia, sirve para scripts y pipelines de CI. Solo
lee y escribe dentro del directorio actual:
cd /path/to/your-bundles
node /path/to/dcp-ai/bin/dcp.js verify-bundle --policy hybrid_preferred bundle.signed.json
Opción B: el SDK directamente¶
Instala una de las dos:
- el SDK de
main, compilado desde un checkout, para desarrollar el código fuente:
- o el SDK 2.2.1 publicado, que incluye estas correcciones y funciones:
Verifica un bundle V2 firmado con el verificador de bundles V2 actual de main (firmas, hashes, vinculación de sesión,
nivel de seguridad). Comprueba la cadena de auditoría primaria, no la cadena secundaria SHA3-256 opcional (véase
Cadenas de doble hash):
import { readFileSync } from 'node:fs';
import { getDefaultRegistry, registerDefaultProviders, verifySignedBundleV2 } from '@dcp-ai/sdk';
registerDefaultProviders();
const signedBundle = JSON.parse(readFileSync('bundle.signed.json', 'utf8'));
const result = await verifySignedBundleV2(signedBundle, getDefaultRegistry());
console.log(result.verified, result.errors);
Un bundle verificado prueba su integridad y la firma con las claves que enumera, no quién es el principal: para aceptar evidencias solo de principales en los que confías, usa la admisión. Ni la verificación ni la admisión autorizan una acción. Para construir y firmar bundles, sigue el inicio rápido de tu SDK: TypeScript, Python, Go, Rust o WASM.
Niveles de seguridad¶
| Nivel | Modo de verificación | Checkpoint PQ | Uso típico |
|---|---|---|---|
| Routine | classical_only |
cada 50 eventos | Lectura de datos públicos, consultas informativas |
| Standard | hybrid_preferred |
cada 10 eventos | Acceso a API, operaciones estándar del agente |
| Elevated | hybrid_required |
cada evento | Transacciones financieras, acceso a datos personales, delegación entre organizaciones |
| Maximum | hybrid_required |
cada evento | Sistemas gubernamentales, infraestructuras críticas, sectores regulados |
El nivel se calcula para cada acción a partir de la intención y de la puntuación de riesgo de la política (spec §14.2), y un verificador aplica el más estricto entre su propio modo y el del nivel (spec §14.3). La atestación del operador o multiparte, las claves ligadas a hardware y el anclaje son decisiones de despliegue: los SDK no los exigen ni los comprueban en ningún nivel.
Ecosistema¶
graph TB
subgraph sdks["SDKs (5 languages)"]
TS["TypeScript SDK"]
PY["Python SDK"]
GO["Go SDK"]
RS["Rust SDK"]
WA["WASM Module"]
end
subgraph integrations["Integrations (11)"]
EX["Express Middleware"]
FA["FastAPI Middleware"]
LC["LangChain"]
OA["OpenAI"]
CR["CrewAI"]
AGNO["Agno (agno-dcp)"]
OC["OpenClaw Plugin"]
W3C["W3C DID/VC Bridge"]
A2A["Google A2A Bridge"]
MCP["Anthropic MCP Bridge"]
AG["AutoGen Bridge"]
end
subgraph tools["Tooling"]
CLI["CLI Wizard"]
PG["Playground"]
TPL["Templates"]
end
subgraph services["Infrastructure Services"]
VER["Verification Server"]
ANC["Anchoring Service"]
TL["Transparency Log"]
REV["Revocation Service"]
end
subgraph infra["Deployment"]
SOL["Smart Contract L2"]
GH["GitHub Actions"]
DK["Docker Compose"]
end
TS --> EX
TS --> OC
TS --> W3C
TS --> A2A
TS --> MCP
TS --> AG
PY --> FA
PY --> LC
PY --> OA
PY --> CR
RS --> WA
CLI --> TS
TPL --> LC
TPL --> CR
TPL --> OA
TPL --> EX
VER -. "strict-v1 configured source" .-> REV
ANC -. "planned on-chain submission" .-> SOL
DK --> VER
DK --> ANC
DK --> TL
DK --> REV
GH --> VER
SDK¶
Crea, firma y verifica Citizenship Bundles en el lenguaje que prefieras. Todos los SDK admiten DCP v2.0 y criptografía híbrida poscuántica.
| SDK | Paquete | Funciones | Documentación |
|---|---|---|---|
| TypeScript | @dcp-ai/sdk |
BundleBuilder, criptografía PQ híbrida, validación con JSON Schema, Vitest | sdks/typescript/ |
| Python | dcp-ai |
Modelos de Pydantic v2, CLI (Typer), extras PQ, complementos opcionales | sdks/python/ |
| Go | github.com/dcp-ai-protocol/dcp-ai/sdks/go/v2 |
Tipos nativos, firmas híbridas, verificación de bundles | sdks/go/ |
| Rust | dcp-ai |
serde, ed25519-dalek + fips203/204/205, función WASM opcional | sdks/rust/ |
| WASM | @dcp-ai/wasm |
Verificación en el navegador, criptografía PQ en WebAssembly, compilado desde Rust | sdks/wasm/ |
Integraciones con frameworks¶
Gobernanza DCP lista para usar con frameworks web y de IA populares.
| Integración | Paquete | Patrón | Documentación |
|---|---|---|---|
| Express | Middleware dcpVerify(), req.dcpAgent |
integrations/express/ | |
| FastAPI | DCPVerifyMiddleware, Depends(require_dcp) |
integrations/fastapi/ | |
| LangChain | DCPAgentWrapper, DCPTool, DCPCallback |
integrations/langchain/ | |
| OpenAI | DCPOpenAIClient, llamadas a funciones con DCP_TOOLS |
integrations/openai/ | |
| CrewAI | DCPCrewAgent, DCPCrew, gobernanza multiagente |
integrations/crewai/ | |
| Agno | Envoltorios DCPAgent, DCPTeam, DCPWorkflow (paquete independiente) |
repositorio de agno-dcp | |
| OpenClaw | Complemento + SKILL.md, 6 herramientas para agentes | integrations/openclaw/ | |
| W3C DID/VC | Puente entre documento DID e identidad DCP, emisión de VC | integrations/w3c-did/ | |
| Google A2A | Pasaporte DCP firmado dentro de la Agent Card de A2A (verifyAgentCardPassport), tareas a intenciones |
integrations/google-a2a/ | |
| Anthropic MCP | Recibo DCP firmado por cada llamada a una herramienta MCP (withDcpReceipt), herramientas y recursos DCP |
integrations/anthropic-mcp/ | |
| AutoGen | Envoltorio entre agente de AutoGen y DCP, gobernanza de chats de grupo | integrations/autogen/ |
Plantillas¶
Recorridos de inicio para frameworks habituales. Muestran dónde encajan la identidad, la intención, la política, el registro de auditoría y el
sellado del bundle, con claves y firmas de relleno («generated», «sig»): no generan claves, no firman nada
y sus bundles no verifican. El middleware de la plantilla de Express comprueba solo la estructura del bundle, no las firmas ni la
admisión. Para claves, firmas y verificación reales, usa los inicios rápidos y las
integraciones con frameworks.
| Plantilla | Descripción | Comando |
|---|---|---|
| LangChain | Llamada de LangChain.js envuelta en el flujo DCP, con firmas de relleno | npm create @dcp-ai/langchain my-app |
| CrewAI | Simulación de un equipo multiagente con pasaportes DCP y rastro de auditoría, con firmas de relleno | npm create @dcp-ai/crewai my-app |
| OpenAI | Llamadas a funciones de OpenAI envueltas con intención, política y auditoría DCP, con firmas de relleno | npm create @dcp-ai/openai my-app |
| Express | Servidor Express con una comprobación DCP estructural (sin verificación de firmas) y endpoints de descubrimiento | npm create @dcp-ai/express my-app |
npm create @dcp-ai/<name> ejecuta el generador @dcp-ai/create-<name>, que copia la plantilla en una carpeta
nueva. Véase templates/ para el código completo.
Playground¶
Un playground web interactivo para explorar los conceptos de DCP: crea identidades, declara intenciones, firma bundles y verifica firmas directamente en el navegador. Su criptografía se ejecuta localmente con tweetnacl y Web Crypto. Es una demostración: sus firmas
poscuánticas están simuladas y su forma canónica y su raíz de Merkle están simplificadas, así que lo que construye no es evidencia
y no tiene por qué verificar con los verificadores de los SDK (véanse sus limitaciones).
# From the repository root; ES modules require HTTP, not file://
python3 -m http.server 8080 --bind 127.0.0.1 --directory playground
# Open http://localhost:8080 in your browser
Véase playground/ para más detalles.
Servicios de infraestructura¶
Servicios de backend para anclaje, transparencia y revocación. Son componentes operativos, no parte del protocolo normativo del núcleo.
| Servicio | Puerto | Descripción | Documentación |
|---|---|---|---|
| Verification | 3000 | API HTTP para verificar Signed Bundles | server/ |
| Anchoring | 3001 | Agrupación en lotes de Merkle de los hashes de bundles, registrados localmente; el envío on-chain no está implementado | services/anchor/ |
| Transparency Log | 3002 | Registro de Merkle al estilo CT con pruebas de inclusión | services/transparency-log/ |
| Revocation | 3003 | Registro de revocación de agentes + .well-known |
services/revocation/ |
Despliega todos los servicios con un solo comando:
Documentación¶
Especificaciones normativas¶
| Documento | Descripción |
|---|---|
| DCP-01 | Identidad y vinculación humana |
| DCP-02 | Declaración de intención y control por política |
| DCP-03 | Cadena de auditoría y transparencia |
| DCP-04 | Comunicación entre agentes |
| DCP-05 | Gestión del ciclo de vida del agente |
| DCP-06 | Sucesión digital y herencia |
| DCP-07 | Resolución de conflictos y arbitraje de disputas |
| DCP-08 | Marco de derechos y obligaciones |
| DCP-09 | Representación personal y delegación |
| DCP-AI v2.0 | Especificación normativa poscuántica |
| BUNDLE | Formato del Citizenship Bundle |
| VERIFICATION | Procedimientos y lista de comprobación de la verificación |
| CANONICALIZATION_PROFILE | Perfil de JSON canónico dcp-jcs-v1 en el que se basan todas las firmas y hashes |
| DCP Core | Especificación editorial del protocolo del núcleo |
| Profiles | Perfiles opcionales: criptografía, A2A, gobernanza y admisión (strict-v1) |
Primeros pasos¶
| Guía | Descripción |
|---|---|
| QUICKSTART | Guía general de inicio rápido |
| QUICKSTART_LANGCHAIN | Recorrido por la integración con LangChain |
| QUICKSTART_CREWAI | Configuración multiagente con CrewAI |
| QUICKSTART_AGNO | Agentes, equipos y flujos de trabajo de Agno con agno-dcp (demo en vivo) |
| QUICKSTART_OPENAI | Integración con las llamadas a funciones de OpenAI |
| QUICKSTART_EXPRESS | Configuración del middleware de Express |
Referencia de la API¶
| Documento | Descripción |
|---|---|
| OpenAPI Spec | API REST (OpenAPI 3.1) |
| Protocol Buffers | Definiciones de servicios gRPC |
| API README | Resumen y uso de la API |
Arquitectura y seguridad¶
| Documento | Descripción |
|---|---|
| TECHNICAL_ARCHITECTURE | Arquitectura del sistema para despliegues a escala global |
| SECURITY_MODEL | Modelo de amenazas, vectores de ataque, capas de protección |
| STORAGE_AND_ANCHORING | Almacenamiento P2P, anclaje opcional en blockchain |
| ARCHITECTURE | Mapa del repositorio para colaboradores |
Pruebas y garantías¶
| Herramienta | Descripción |
|---|---|
| Interop matrix | Agentes en vivo sobre los cuatro SDK (y el verificador de referencia) crean, firman y verifican los citizenship bundles de los demás, intactos y manipulados en tránsito |
| Differential fuzzer | El mismo bundle firmado y mutado pasa por los verificadores de los cuatro SDK; cualquier discrepancia es un hallazgo |
| Shared vectors | Bundles, cadenas de mandatos y casos de ataque que todos los SDK deben aceptar o rechazar de la misma manera |
Guías¶
| Guía | Descripción |
|---|---|
| AGENT_CREATION_AND_CERTIFICATION | Flujo de creación de agentes P2P, certificación DCP |
| OPERATOR_GUIDE | Ejecutar un servicio de verificación |
| MIGRATION_V1_V2 | Migrar de DCP v1.0 a v2.0 |
| ADMISSION | Aceptar bundles solo de principales de confianza, opcionalmente bajo strict-v1 |
| OBSERVABILITY | Trazas y métricas de OpenTelemetry desde los SDK |
Propuestas (experimentales, no normativas)¶
| Documento | Descripción |
|---|---|
Candidato de canonicalización dcp-jcs-v2 |
Perfil candidato experimental, desactivado por defecto, su diseño y las API opt-in de los SDK; dcp-jcs-v1 sigue siendo el perfil de canonicalización predeterminado y el único normativo |
Alineación con estándares¶
| Documento | Descripción |
|---|---|
| NIST_CONFORMITY | Conformidad con la criptografía poscuántica del NIST |
| EU_AI_ACT_MAPPING | Obligaciones de registro, supervisión humana y conservación de registros del Reglamento de IA de la UE asignadas a artefactos DCP |
| ROADMAP | Hoja de ruta de la evolución del proyecto |
Comunidad¶
| Documento | Descripción |
|---|---|
| EARLY_ADOPTERS | Programa de primeros usuarios y casos de estudio |
| CONTRIBUTING | Pautas de contribución |
| GOVERNANCE | Modelo de gobernanza del proyecto |
Visión¶
| Documento | Descripción |
|---|---|
| GENESIS_PAPER | Documento técnico fundacional |
Algoritmos criptográficos¶
DCP v2.0 emplea una arquitectura criptográfica híbrida para una seguridad resistente a la computación cuántica. La selección de algoritmos y la agilidad criptográfica se rigen por el Crypto Profile.
Esta tabla describe el diseño del protocolo. Los SDK no ejecutan el intercambio combinado X25519 + ML-KEM-768; el llamador proporciona la clave de sesión A2A. Los verificadores V2 desde @dcp-ai/sdk 2.2.1, @dcp-ai/wasm 2.1.1, dcp-ai 2.10.1 (PyPI), Go v2.11.1 y Rust dcp-ai 2.11.1 comprueban los enlaces de la cadena de auditoría secundaria opcional y la raíz de Merkle secundaria que estén presentes; las versiones anteriores no (cadenas de doble hash). Consulta la conformidad NIST y el modelo de seguridad para conocer los límites de implementación.
| Algoritmo | Estándar | Propósito |
|---|---|---|
| Ed25519 | RFC 8032 | Firmas digitales clásicas |
| ML-DSA-65 | FIPS 204 | Firmas digitales poscuánticas (Dilithium) |
| ML-KEM-768 | FIPS 203 | Mecanismo de encapsulación de claves poscuántico (Kyber) |
| SLH-DSA-192f | FIPS 205 | Firmas de respaldo basadas en hash (SPHINCS+) |
| X25519 + ML-KEM-768 | Híbrido | Intercambio de claves combinado clásico + PQ |
| SHA-256 + SHA3-256 | FIPS 180-4 / FIPS 202 | Cadenas de doble hash para la integridad de la auditoría |
Estructura del repositorio¶
dcp-ai/
├── spec/ # Normative specifications (DCP-01 through DCP-09, v2.0)
│ ├── core/ # DCP Core editorial specification
│ └── profiles/ # Profile specifications (crypto, a2a, governance, admission)
├── schemas/ # JSON Schemas (draft 2020-12, v2 includes DCP-05–09)
├── tools/ # Validation, conformance, crypto + Merkle helpers
│ ├── interop-matrix/ # Live interoperability between agents on the four SDKs
│ ├── difffuzz/ # Differential fuzzer of the four V2 verifiers
│ └── canonicalization-lab/ # Design model of the dcp-jcs-v2 candidate
├── tests/ # Conformance tests, fixtures, interop vectors (tests/interop/candidate: experimental)
├── bin/dcp.js # Reference CLI
├── cli/ # Interactive CLI wizard (@dcp-ai/cli)
├── sdks/
│ ├── typescript/ # TypeScript SDK (@dcp-ai/sdk)
│ ├── python/ # Python SDK (dcp-ai)
│ ├── go/ # Go SDK
│ ├── rust/ # Rust SDK (dcp-ai)
│ └── wasm/ # WASM module (@dcp-ai/wasm)
├── integrations/
│ ├── express/ # Express middleware
│ ├── fastapi/ # FastAPI middleware
│ ├── langchain/ # LangChain integration
│ ├── openai/ # OpenAI integration
│ ├── crewai/ # CrewAI integration
│ ├── openclaw/ # OpenClaw plugin
│ ├── w3c-did/ # W3C DID/VC bridge
│ ├── google-a2a/ # Google A2A bridge
│ ├── anthropic-mcp/ # Anthropic MCP bridge
│ └── autogen/ # Microsoft AutoGen bridge
├── templates/ # Framework templates (langchain, crewai, openai, express)
├── packages/create-*/ # npm create @dcp-ai/<name> scaffolders
├── playground/ # Web-based interactive playground
├── server/ # Reference verification server
├── services/
│ ├── anchor/ # Blockchain anchoring service
│ ├── transparency-log/ # CT-style Merkle transparency log
│ └── revocation/ # Agent revocation registry
├── contracts/ethereum/ # DCPAnchor.sol for EVM L2
├── docker/ # Docker Compose + multi-stage Dockerfile
├── api/ # OpenAPI 3.1 + Protocol Buffers (gRPC)
├── docs/ # Guides, architecture, standards alignment; docs/proposals: experimental designs
└── .github/ # CI/CD workflows + reusable GitHub Actions
Desarrollo¶
# Build the workspace SDK first: the root uses it to test the checked-out source
(cd sdks/typescript && npm install && npm run build)
# Install dependencies
npm install
# Run tests
npm test
# Run protocol conformance suite
npm run conformance
# Cross-SDK checks (build sdks/typescript first; needs Python, Go and Rust)
node tools/interop-matrix/run.mjs
node tools/difffuzz/run.mjs
# Start verification server (port 3000)
npm run server
Contribuir¶
Damos la bienvenida a contribuciones tanto de personas como de agentes de IA.
- Lee la Guía de contribución para conocer el flujo de trabajo y los estándares de desarrollo.
- Consulta Gobernanza para los procesos de decisión y los roles.
Cita¶
Si usas DCP-AI en tu investigación, cita tanto el artículo (el marco conceptual) como la versión del software (la implementación concreta que usaste).
Artículo
Naranjo Emparanza, D. (2026). Agents Don't Need a Better Brain — They Need a World: Toward a Digital Citizenship Protocol for Autonomous AI Systems. Zenodo. https://doi.org/10.5281/zenodo.19040913
Software
Cita la versión que usaste. El DOI de concepto 10.5281/zenodo.19656025
resuelve a la última versión archivada; la versión v2.0.2 tiene el suyo propio:
Naranjo Emparanza, D. (2026). DCP-AI v2.0.2 — Digital Citizenship Protocol for AI Agents (Reference Implementation). Zenodo. https://doi.org/10.5281/zenodo.19656026
Véase CITATION.cff para un formato legible por máquinas.