Skip to main content
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: 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

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.
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

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.
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.