> For the complete documentation index, see [llms.txt](https://docs.nfh.global/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nfh.global/product-documentation/products/vc-on-edge/desktop.md).

# Desktop app

Install OpenCred Desktop, import or generate a signing key, and issue your first credential.

OpenCred Desktop is the interactive client for issuing and verifying credentials on macOS, Windows, and Linux. Issuer keys stay on your machine.

> **🧪 Beta.** macOS shows a one-time security prompt on first launch — approve it under **System Settings → Privacy & Security**. Support: [open an issue](https://github.com/nfh-trust-labs/opencred-releases/issues).

## System requirements

| Platform | Minimum version                                                       |
| -------- | --------------------------------------------------------------------- |
| macOS    | 12 (Monterey)+                                                        |
| Windows  | 10+ *(installer not currently shipped — see release page for status)* |
| Linux    | Ubuntu 20.04+                                                         |

Release builds have no runtime dependencies. For building from source: Node.js 20+, pnpm 9+.

## Install

Download the latest installer for your platform from the public release page: [**github.com/nfh-trust-labs/opencred-releases/releases**](https://github.com/nfh-trust-labs/opencred-releases/releases)

* **macOS** — `.dmg` disk image
* **Linux** — `.AppImage` or `.deb`

Each release ships a `SHA256SUMS` file. Verify integrity **before** running the installer:

```bash
# Linux
sha256sum -c SHA256SUMS --ignore-missing
# macOS
shasum -a 256 -c SHA256SUMS --ignore-missing
```

### From source

```bash
git clone <repo-url>
cd opencred
pnpm install
pnpm build
cd apps/desktop
pnpm dev
```

## First launch

If no keys are imported, the app opens the **Onboarding Wizard**. Otherwise it opens to the Home screen with the template gallery and credential history.

## Onboarding wizard — three paths

### Path 1 — I have a Digital Signature Certificate (DSC)

Choose your key source:

| Option                  | Description                                    |
| ----------------------- | ---------------------------------------------- |
| Upload certificate file | Import PFX, PEM, JWK, or PKCS#8 DER files      |
| Hardware token          | Connect PKCS#11 devices (YubiKey, smart cards) |
| OS certificate store    | Use macOS Keychain or Windows CNG certificates |

After import, a **Key Details** card shows: DID, algorithm, fingerprint, and source.

### Path 2 — I want to get a DSC

CA integration for DSC acquisition. *Coming soon.*

### Path 3 — Self-published keys (`did:web`)

Generate keys locally and publish your public key via `did:web` at `.well-known/did.json` on your domain. (Key management — publish, rotate, revoke — is covered in the in-app Key Management guide and the [DeDi key registry model](/product-documentation/products/vc-on-edge/concepts.md#dids-decentralized-identifiers).)

## Issue your first credential

1. Click a template (e.g. **Education Credential**) on the Home screen.
2. Fill in the subject fields (name, degree, institution, date conferred).
3. Select your signing key.
4. Click **Build & Sign**.
5. Export as **JSON**, **PDF**, or **QR code**.

## Then

* [Verifying credentials](/product-documentation/products/vc-on-edge/verifying.md) — verify offline, by QR, PDF, or paste.
* [Docker image & API](/product-documentation/products/vc-on-edge/docker.md) — the same engine, headless, for automation.
* [Security model](/product-documentation/products/vc-on-edge/security.md) — how keys are handled.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.nfh.global/product-documentation/products/vc-on-edge/desktop.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
