# Concepts

> Background on verifiable credentials, Credo agents and modules, DIDs and DIDComm, and the platforms Credo runs on.

These pages explain the ideas behind Credo: how verifiable credentials work, what an agent is, and where DIDs and DIDComm fit in. Read them if you're new to verifiable credentials or to Credo. If you want to get an agent running first, start with [Getting started](https://credo.js.org/guides/getting-started.md).

- [Verifiable credentials](https://credo.js.org/guides/concepts/verifiable-credentials.md): Issuers, holders and verifiers, credentials and presentations, and how exchange protocols, credential formats, key binding, selective disclosure, status and trust fit together in Credo.
- [Agents and modules](https://credo.js.org/guides/concepts/agents.md): What a Credo agent is, how modules add functionality to it, and how agent contexts and tenants keep data apart.
- [DIDs and DIDComm](https://credo.js.org/guides/concepts/did-and-didcomm.md): What decentralized identifiers and DID documents are, and how DIDComm uses them for messaging between agents.
- [Platforms](https://credo.js.org/guides/concepts/platform-and-environment.md): The platforms Credo supports, Node.js and React Native, how its packages are published, and which runtimes aren't supported.
