# RFC012 Nuts Organization Credential

|                           |                 |
| ------------------------- | --------------- |
| Nuts foundation           | W\.M. Slakhorst |
| Request for Comments: 012 | Nedap           |
|                           | February 2021   |

## Nuts Organization Credential

### Abstract

Creating a network with trusted Verified Credentials is victim of the chicken-and-egg-problem. Issuers are not yet convinced they should support VCs until the network is mature enough and nobody is willing to use the network without official credentials/identities. The **Nuts organization credential** offers a temporary solution. It allows for any DID subject to issue a VC. Trust is established manually by adding the DID to a trusted list of issuers. For development use-cases and as bootstrap for a production network, the `Nuts Organization Credential` will add names to DIDs.

### Status

This document describes a Nuts standards protocol.

### Copyright Notice

![](https://1747086711-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHVTEyjEq6g1xn7M_Z-%2Fuploads%2Fgit-blob-38715ff2227a9347988d505fc8b20ee79fd658af%2Flicense.png?alt=media)

This document is released under the [Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license](https://creativecommons.org/licenses/by-sa/4.0/).

## 1. Introduction

Users that want to interact with another system want to use real-world names when they search for organizations. DIDs do not solve this problem. VCs can add this information (claims) to a DID. This RFC builds upon [RFC011](https://nuts-foundation.gitbook.io/v1/rfc/rfc011-verifiable-credential).

## 2. Terminology

* **DID**: [Decentralized Identifiers](https://www.w3.org/TR/did-core/).
* **VC**: [Verifiable Credential Data Model](https://www.w3.org/TR/vc-data-model/).

## 3 CredentialSubject

The `credentialSubject` field contains the following:

```javascript
{
    "id": "did:nuts:8jx6GU9JipE6TXY2nak8RgFXMk3zaoPWsCb53N1Zjw9R",
    "organization": {
        "name": "De Nootjes",
        "city": "Eibergen"
    }
}
```

and has the following requirements:

* all fields are required.
* all fields are encoded as strings.
* **id** MUST refer to a known Nuts DID as specified by [RFC006](https://nuts-foundation.gitbook.io/v1/rfc/rfc006-distributed-registry).

## 4 Issuance & distribution

A Nuts Organization Credential is public and MUST be published over the Nuts network. Every DID MAY issue the credential. The VC does not have any other requirements nor does it add requirements to other VCs.

## 5 Supported proofs

Only proofs from [RFC011](https://nuts-foundation.gitbook.io/v1/rfc/rfc011-verifiable-credential) are supported.

## 6 Trust

The Nuts Organization Credential MUST be trusted manually. An implementation can choose to trust each VC individually or trust a certain **Issuer**. The mechanism for this is up to the implementation.

## 7 Revocation

The Nuts Organization Credential uses the revocation mechanism as stated by [RFC011](https://nuts-foundation.gitbook.io/v1/rfc/rfc011-verifiable-credential).

## 8 Use cases

The Nuts Organization Credential MAY be used as credential in the Nuts OAuth flow as stated in [RFC003](https://nuts-foundation.gitbook.io/v1/rfc/rfc003-oauth2-authorization). The credential MAY also be used as a way to find the correct DID and its services.

## 9 Privacy considerations

All information in the credential SHOULD be public knowledge. The VC MAY NOT contain private information.

## 10 Services

No additional services other than the Nuts network are required.

## 11. Example

```javascript
{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://nuts.nl/credentials/v1"
  ],
  "id": "did:nuts:B8PUHs2AUHbFF1xLLK4eZjgErEcMXHxs68FteY7NDtCY#90382475609238467",
  "type": ["VerifiableCredential", "NutsOrganizationCredential"],
  "issuer": "did:nuts:B8PUHs2AUHbFF1xLLK4eZjgErEcMXHxs68FteY7NDtCY",
  "issuanceDate": "2010-01-01T19:73:24Z",
  "expirationDate": "2010-02-01T19:73:24Z",
  "credentialSubject": {
    "id": "did:nuts:8jx6GU9JipE6TXY2nak8RgFXMk3zaoPWsCb53N1Zjw9R",
    "organization": {
      "name": "De Nootjes",
      "city": "Eibergen"
    }
  },
  "proof": {
    "type": "EcdsaSecp256r1Signature2019",
    "created": "2017-06-18T21:19:10Z",
    "proofPurpose": "assertionMethod",
    "verificationMethod": "did:nuts:B8PUHs2AUHbFF1xLLK4eZjgErEcMXHxs68FteY7NDtCY#90382475609238467#qjHYrzaJjpEstmDATng4-cGmR4t-_V3ipbDVYZrVe4A",
    "jws": "eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..TCYt5XsITJX1CxPCT8yAV-TVkIEq_PbChOMqsLfRoPsnsgw5WEuts01mq-pQy7UJiN5mgRxD-WUcX16dUEMGlv50aqzpqh4Qktb3rk-BuQy72IFLOqV0G_zS245-kronKb78cPN25DGlcTwLtjPAYuNzVBAh4vGHSrQyHUdBBPM"
  }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nuts-foundation.gitbook.io/v1/rfc/rfc012-nuts-organization-credential.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
