FyVault
CLI & Agent

Your terminal is the most powerful
security tool you own.

Developers live in the terminal. Secret managers should too. FyVault gives you 40+ commands, kernel-level injection, and offline operation — all from a single binary with zero dependencies.

You have been managing secrets through web dashboards. Clicking through UIs. Copy-pasting values between browser tabs and .env files. That is not how developers work. You work in the terminal. Your workflows are scripts, pipes, and keystrokes. Your secret manager should be the same.

FyVault is the tool you have been building shell scripts to replace.

One line. Two minutes. Production-ready.

Install FyVault
$ curl -fsSL https://get.fyvault.com | bash
Workflow 1

Boot and Seal

$ fyvault boot --org acme

One command cold-starts everything. Fetches secrets from the vault, loads eBPF programs into the kernel, seals the keyring. Your app never sees a plaintext credential.

$ fyvault boot --org acme
Authenticating device fp_a1b2c3d4...
Fetching 14 secrets from vault...
Loading eBPF programs into kernel...
Kernel keyring sealed. 14 secrets loaded.
Agent listening on PID 4821.
$ fyvault status

Instant health check. See what is loaded, what is stale, whether the kernel is locked down, and if the cloud connection dropped. No dashboard needed.

$ fyvault status
Agent: running (PID 4821) uptime 4d 12h
Secrets: 14 loaded, 0 stale, 2 expiring in 6h
Kernel: eBPF attached, keyring sealed
Cloud: disconnected (offline mode active)
Last sync: 2024-12-01T08:41:22Z
Workflow 2

Manage from Anywhere

$ fyvault secrets:create --name stripe-live --env production

Create secrets without leaving your terminal. No browser tab. No UI form. Type the command, paste the value, done. It syncs to every device in the org.

$ fyvault secrets:create --name stripe-live --env production
Enter secret value: ••••••••••••••••
Secret created: stripe-live (production)
Version: v1
Synced to 3 devices.
$ fyvault rotate --secret stripe-live

Rotate without restarting. The kernel keyring updates in-place. Your running application never drops a request. Zero downtime by design, not by luck.

$ fyvault rotate --secret stripe-live
Rotating stripe-live...
New version: v1 → v2
Kernel keyring updated in 2ms.
3 connected devices notified.
Zero downtime. App unaware.
$ fyvault secrets:list --env production --format table

List, filter, and inspect every secret across environments. Pipe the output to jq, grep it, feed it into your own tooling. It is just stdout.

$ fyvault secrets:list --env production --format table
NAME ENV VERSION EXPIRES
stripe-live production v2 2025-03-01
db-primary production v5 never
aws-access-key production v3 2025-01-15
redis-url production v1 never
Workflow 3

CI-First Pipelines

$ fyvault sync vercel --env=production --token=$VERCEL_TOKEN --project-id=prj_xxx

Push secrets into Vercel, Netlify, Railway, Fly.io, or any platform that accepts env vars. One command replaces a dozen clicks through a web console.

$ fyvault sync vercel --env=production --token=$VERCEL_TOKEN --project-id=prj_xxx
Syncing 14 secrets to Vercel...
12 created, 2 updated, 0 failed.
Environment: production
Project: prj_xxx synced.
$ fyvault export --env=staging --format=dotenv | docker run --env-file /dev/stdin myapp

Pipe secrets directly into any build step. No .env files committed. No intermediate storage. Secrets flow from the vault to the process and nowhere else.

$ fyvault export --env=staging --format=dotenv | docker run --env-file /dev/stdin myapp
Exporting 9 secrets (staging)...
Piped to stdin. No file written.
Container started with 9 env vars.
Workflow 4

Scan and Protect

$ fyvault scan --file=.env.backup

Point it at any file, directory, or repo. It detects AWS keys, Stripe tokens, database URLs, private keys, and 22+ other patterns. Catch leaks before they ship.

$ fyvault scan --file=.env.backup
Scanning .env.backup...
Found 3 potential secret(s):
Line 4: [HIGH] AWS Access Key (AKIA...)
Line 12: [HIGH] Stripe Live Key (sk_live...)
Line 18: [MEDIUM] Database URL with credentials
Run `fyvault scan --fix` to auto-remediate.
$ fyvault hooks:install --pre-commit

Install a git pre-commit hook that blocks any commit containing a secret. One command. Every contributor on the repo is protected from that point forward.

$ fyvault hooks:install --pre-commit
Installing pre-commit hook...
Hook installed: .git/hooks/pre-commit
Scanning patterns: 22 detectors active
Next commit will be scanned automatically.
A Day in the Terminal

Boot. Create. Scan. Rotate. Ship.

This is what a real workflow looks like. Five commands take you from a cold start to production-synced secrets with a clean security scan along the way.

fyvault — production workflow
$ fyvault boot --org acme
Authenticating device fp_a1b2c3d4...
14 secrets loaded. Kernel sealed.
 
$ fyvault secrets:create --name api-key --env prod
Secret created: api-key (prod) v1
 
$ fyvault scan --staged
0 secrets detected. Clean to commit.
 
$ fyvault rotate --secret api-key
api-key rotated: v1 → v2. Keyring updated.
 
$ fyvault sync vercel --env=prod
14 secrets synced. 0 failed.
 
$ # Ship it.
Cross-Platform

Same CLI. Different superpowers.

Linux gets eBPF kernel injection. macOS gets Keychain backed by the Secure Enclave. Windows gets DPAPI encryption tied to your machine identity. One binary adapts to whatever OS it lands on and uses the strongest protection available.

Linux

eBPF kernel injection

Attaches to syscalls at the kernel level. Secrets are rewritten in-flight before your process ever touches them. The keyring is sealed with a dedicated eBPF program that blocks unauthorized reads.

macOS

Keychain integration

Secrets are stored in the macOS Keychain, protected by the Secure Enclave on Apple Silicon. Access is scoped per-application. Touch ID can gate retrieval for interactive workflows.

Windows

DPAPI encryption

Secrets are encrypted with the Windows Data Protection API, tied to the user profile and machine identity. No plaintext ever hits the filesystem. Works with Windows Credential Manager.

Everything You Need

40+ commands. One binary.

Every operation that used to require a browser tab, a web dashboard, or a custom shell script is now a single command. Create, rotate, scan, sync, export, fingerprint, and more.

One-Line Install

curl | bash. Registers the device, installs the systemd service, attaches eBPF. Two minutes from zero to sealed.

Hardware Fingerprinting

CPU serial, board ID, DMI data. Every machine gets a unique identity that cannot be copied or spoofed.

eBPF Kernel Injection

Hooks into syscalls and rewrites credentials in-flight at the kernel level. Roughly 3 microseconds of overhead.

Offline by Default

The cloud is only needed at boot. After secrets are cached, the agent runs fully independent. Network goes down, secrets stay up.

Hot Rotation

Rotate any secret without restarting your app. The kernel keyring patches itself live. Your process never notices.

Isolated OS User

The agent runs as a dedicated fyvault-agent user with its own keyring. Even root on the host cannot read the sealed secrets.

30+ Platform Syncs

Push secrets to Vercel, Netlify, Heroku, Railway, Fly.io, Render, and more. One command replaces a web console.

Secret Scanner

22+ detection patterns for AWS keys, Stripe tokens, private keys, database URLs. Pre-commit hooks block leaks before they merge.

Git-Native Hooks

Pre-commit scanning installs in one command. Every contributor is protected. No configuration files to maintain.

40+ Commands

Create, read, rotate, delete, scan, sync, export, fingerprint. Every operation you need, accessible from a single binary.

System Requirements

Full eBPF support requires Linux 5.8 or later with root privileges. macOS and Windows use native OS security primitives and do not require elevated access for basic operation.

KernelLinux 5.8+ (eBPF support)
PrivilegesRoot (for eBPF + keyring)
DistrosUbuntu 20.04+, Debian 11+, Amazon Linux 2023, Alpine 3.18+
macOS12.0+ Monterey (x86_64, Apple Silicon)
Windows10 21H2+ / Server 2019+ (x86_64)
Architecturesx86_64, arm64
ContainersDocker (privileged), Kubernetes (DaemonSet)

Stop building shell scripts.
Start shipping secrets securely.

One command installs the agent. Five minutes later your secrets are kernel-sealed, your CI pipeline is synced, and your pre-commit hooks are catching leaks.