Reference
Security
Every Pi-Bolt release is signed. The installers verify what they download before installing it, need no administrator rights, and change nothing outside your own folders.
Signed releases#
Each release publishes SHA256SUMS, the SHA-256 checksum of every file, and SHA256SUMS.sig, an
Ed25519 signature of that file made with Pi-Bolt's release key. The public key is in the repository as
keys/release.pub and inside the installers:
-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAoLboJqtKaoISPqffk03vHZr+1sRBG3uIRIWeKOew+aY= -----END PUBLIC KEY-----
The installers and pi-bolt update refuse a download whose checksum or signature does not verify. Checksums and
signatures always come from the GitHub release, so a download from the npm registry's CDN is checked against them too.
Verify a download yourself#
$ sha256sum -c --ignore-missing SHA256SUMS $ openssl pkeyutl -verify -pubin -inkey release.pub -rawin -in SHA256SUMS -sigfile SHA256SUMS.sig
The second command needs OpenSSL 3 or later; macOS's own openssl (LibreSSL) cannot check Ed25519, but
Homebrew's openssl@3 can.
What the installer does#
- Installs into your home folder (
~/.pi-bolt, or%USERPROFILE%\.pi-bolton Windows) and links one command. It needs no administrator rights and changes no security setting. - On Windows, asks before adding Pi-Bolt to your PATH.
- Installs OpenSec's optional extensions only when you say yes, at the versions the release pins, and only if the registry's package matches the pinned integrity hash.
- Does not touch your Pi installation. In
~/.pi/agentit only installs the extensions you accepted.
Running Pi safely#
Pi-Bolt runs Pi's tools with your permissions, as Pi does: the agent can read and write files and run commands in your project. Pi's Run Pi safely and Isolate Pi apply to Pi-Bolt.
- Extensions run inside the Pi process with your permissions. Only install extensions from sources you trust.
- A project's
.envis not loaded into Pi-Bolt's environment. See .env files. - Crash reports contain an encoded stack trace and nothing else: no file names, paths or data of yours. See A crash.
Report a vulnerability#
Report security issues privately through GitHub's private vulnerability reporting, not in public issues. We acknowledge the report, investigate, and coordinate a fix and disclosure with you.
In scope: the Pi-Bolt runtime and engine changes, the release executables, and the scripts and installers in the repository. Vulnerabilities in Pi itself belong to Pi; vulnerabilities in Bun or JavaScriptCore that Pi-Bolt does not change belong to their projects.