> ## Documentation Index
> Fetch the complete documentation index at: https://encryptd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# encryptd Platform Support: Prebuilt Binaries by OS

> encryptd ships prebuilt Rust native binaries for macOS ARM64/x64, Linux x64, and Windows x64. No Rust toolchain required for end users.

encryptd's cryptographic core is written in Rust and compiled to platform-specific native `.node` binaries. When you install the package, the correct binary for your operating system and CPU architecture is downloaded automatically you do not need Rust, Cargo, or any C/C++ build toolchain installed on your machine.

## Supported Platforms

The table below lists every platform that ships a prebuilt binary:

| OS & Architecture             | Binary Package            |
| ----------------------------- | ------------------------- |
| macOS (Apple Silicon / ARM64) | `encryptd-darwin-arm64`   |
| macOS (Intel / x64)           | `encryptd-darwin-x64`     |
| Linux (x64, GNU libc)         | `encryptd-linux-x64-gnu`  |
| Windows (x64, MSVC)           | `encryptd-win32-x64-msvc` |

Each binary package contains a single precompiled `.node` file built from the Rust source in CI. The binaries are published to GitHub Packages alongside the main `@vernonthedev/encryptd` package.

## How Binary Selection Works

At runtime, the Node.js package detects your platform and architecture using `process.platform` and `process.arch`, then requires the matching `.node` file from the appropriate binary package. This happens transparently inside the package you call `encrypt` or `decrypt` (or run the CLI) and the correct native code executes without any configuration on your part.

## Unsupported Platforms

<Note>
  If your platform is not in the supported list for example, Linux ARM64 (Raspberry Pi, AWS Graviton), Alpine Linux (musl libc), or 32-bit architectures the package will throw a load error when it tries to require the native binary. There is no JavaScript fallback. To add support for a new platform, the Rust code must be cross-compiled and a new binary package published.
</Note>

If you encounter a load error on an unsupported platform, check the project's GitHub repository for open issues or feature requests for your target environment.

## Node.js Version Requirements

encryptd requires **Node.js 18 or higher**. The native binary targets the Node-API stable ABI, so the same prebuilt binary works across minor and patch releases of any supported Node.js major version no reinstall needed when you upgrade Node.js within the same major.

## CI and Prebuilt Binaries

<Tip>
  Because encryptd ships prebuilt binaries, your CI pipeline only needs `npm install` (or your package manager equivalent) to get a fully functional installation. There is no compile step, no Rust toolchain requirement, and no native build dependency to satisfy making cold CI runs faster and more predictable.
</Tip>

In practice this means you can use encryptd in GitHub Actions, GitLab CI, CircleCI, and similar environments on their standard Node.js runner images without any additional setup steps.
