---
title: Credenciales del Ecosistema Empoorio
description: Tipos de Verifiable Credentials emitidas por KryptoOS para cada app del ecosistema.
---
KryptoOS emite credenciales específicas para cada app del ecosistema. Todas usan el esquema `Sr25519Signature2026` y solo contienen hashes/commitments — nunca datos personales en claro.

## Tabla de credenciales

| Credencial | Emisor | Verificador | Campos públicos | PII expuesto |
|-----------|--------|-------------|-----------------|--------------|
| `OuranoosUserCredential` | KryptoOS SDK | Ouranoos App | `didCommitment`, `devicePossessionProofHash`, `revocationStatus` | ❌ Ninguno |
| Provider Device Credential | KryptoOS SDK | Ouranoos provider verification | device class, capacity commitment, identity commitment, revocation status | ❌ Ninguno |
| `EooniaWalletCredential` | Eoonia Wallet (via KryptoOS) | dApps del ecosistema | `walletDid`, `accountCommitment` | ❌ Ninguno |

---

## OuranoosUserCredential

Identidad de usuario para interactuar con Ouranoos Cloud como cliente.

```json
{
  "@context": ["https://www.w3.org/2018/credentials/v1"],
  "type": ["VerifiableCredential", "OuranoosUserCredential"],
  "issuer": "did:kryptoos:empoorio:sr25519:<issuer-key>",
  "credentialSubject": {
    "id": "did:kryptoos:empoorio:sr25519:<user-key>",
    "didCommitment": "<blake2b256-hash>",
    "devicePossessionProofHash": "<hash>",
    "revocationStatus": "active"
  },
  "proof": {
    "type": "Sr25519Signature2026",
    "verificationMethod": "did:kryptoos:empoorio:sr25519:<issuer-key>#key-1",
    "proofValue": "<sr25519-signature-base58>"
  }
}
```

---

## OuranoosProviderDeviceCredential

Identidad del dispositivo proveedor. Permite verificar la clase del dispositivo y su capacidad declarada, sin conocer el device ID real.

```json
{
  "type": ["VerifiableCredential", "OuranoosProviderDeviceCredential"],
  "credentialSubject": {
    "didCommitment": "<hash>",
    "deviceIdHash": "<blake2b256-hash-of-device-id+salt>",
    "devicePossessionProofHash": "<hash>",
    "deviceClass": "Desktop",
    "maxCapacityGb": 500,
    "offeredCapacityGb": 100,
    "revocationStatus": "active"
  }
}
```

**Cómo se usa on-chain:**

```bash
# El proveedor registra un commitment publico.
# El hash identifica al proveedor sin exponer su DID o device ID.
register_provider_identity(commitment_hash)
```

---

## ZK Credentials

KryptoOS puede emitir credenciales ZK que demuestran propiedades sin revelar el dato:

| Credencial ZK | Demuestra | Sin revelar |
|--------------|-----------|-------------|
| `AgeOver18Credential` | El usuario tiene ≥18 años | Fecha de nacimiento |
| `KYCApprovedCredential` | Tiene KYC aprobado | Identidad real |
| `SufficientBalanceCredential` | Tiene ≥X DMS | Saldo exacto |

Estas credenciales se verifican mediante los verificadores públicos soportados por EmpoorioChain cuando el flujo lo requiere.

---

## Revocación

Cualquier credencial puede ser revocada. El campo `revocationStatus` puede ser:
- `"active"` — credencial válida
- `"revoked"` — credencial revocada, no aceptada por las apps
- `"suspended"` — suspensión temporal

La revocación es local al SDK — no hay registro on-chain de identidades individuales.
