> For the complete documentation index, see [llms.txt](https://opencred.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://opencred.gitbook.io/docs/desktop-app/getting-started.md).

# Getting started

> macOS users see a one-time security prompt on first launch — [Installation → macOS first launch](/docs/desktop-app/installation.md#macos-first-launch) has the steps. **Support:** [open an issue](https://github.com/nfh-trust-labs/opencred/issues).

## System Requirements

| Platform | Minimum Version |
| -------- | --------------- |
| macOS    | 12 (Monterey)+  |
| Windows  | 10+             |
| Linux    | Ubuntu 20.04+   |

No runtime dependencies are needed for release builds. For development: Node.js 20+, pnpm 9+.

## Installation

### From Release

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

* **macOS**: `.dmg` disk image (separate Apple Silicon and Intel builds)
* **Windows**: `.exe` installer
* **Linux**: `.AppImage` or `.deb`

Each release includes a `SHA256SUMS` file. Verify integrity with `sha256sum -c SHA256SUMS --ignore-missing` (or `shasum -a 256 -c` on macOS) before running the installer.

### 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 showing the template gallery and credential history.

## Onboarding Wizard

Three paths based on your situation:

### 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 displays: 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. See [Key Management](/docs/desktop-app/key-management.md) for details.

## Quick Tutorial: Issue Your First Credential

1. Click **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

## Next Steps

* [Key Management](/docs/desktop-app/key-management.md) -- importing, generating, and managing signing keys
* [Issuing Credentials](/docs/desktop-app/issuing-credentials.md) -- single and batch issuance workflows
* [Verifying Credentials](/docs/desktop-app/verifying-credentials.md) -- offline credential verification
* [Settings and Diagnostics](/docs/desktop-app/settings-and-logging.md) -- configuration, logging, and bug reports


---

# 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 dynamically by asking a question.

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

```
GET https://opencred.gitbook.io/docs/desktop-app/getting-started.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
