How do I backup my identity files (SSH/GPG) without compromising them?

Published: (January 7, 2026 at 12:13 PM EST)
4 min read
Source: Dev.to

Source: Dev.to

The Story: Paranoia & SSH Keys 🔑

I have a specific paranoia: losing my SSH and GPG keys.

If my laptop dies today, I lose access to my servers, my GitHub signing capabilities, and my encrypted backups. But backing them up is terrifying.

  • Copying id_rsa to a USB drive feels risky (what if I lose the drive?).
  • Uploading ~/.ssh to Google Drive or Dropbox feels like a security nightmare.

I wanted a middle ground—a “digital safety deposit box.” I wanted to lock my most sensitive keys inside a folder that is mathematically impossible to open without my password, and then feel safe uploading that encrypted blob to the cloud.

That is why I built Vaultix. It wasn’t just for “secrets” in general—it was specifically designed to be the safest transport layer for my digital identity.

What is Vaultix? 🛡️

Vaultix is a cross‑platform command‑line tool written in Go. It manages password‑protected encrypted folders locally on your machine.

Design goals

  • Simple – No complex key management. Just a password.
  • Secure – AES‑256‑GCM encryption with Argon2id key derivation.
  • Invisible – Even the filenames inside the vault are encrypted.

The “Cool” Features

I didn’t just want encryption; I wanted a good Developer Experience (DX). Here’s what makes Vaultix fun to use:

1. Fuzzy Matching 🪄

I hate typing long filenames. If you have a file named super_secret_aws_keys_v2.json, you don’t need to type the whole thing:

# This works!
vaultix extract aws

Vaultix finds the best match and extracts it.

2. Zero Metadata Leaks 🕵️

If someone steals your laptop and finds your vault, they won’t even know what you are hiding. Vaultix encrypts the file contents and the filenames. A file named passwords.txt becomes a random string like 3f9a2c1d.enc on disk.

3. Drop & Go 🗑️

Need to use a file once and then destroy it? Use the drop command. It decrypts the file for you to use, and immediately removes it from the secure vault:

vaultix drop api_keys

Using Vaultix to Sleep Better at Night

I back up my SSH keys in three commands:

# 1. Create a secure vault
mkdir my_identity_backup
cd my_identity_backup
vaultix init

# 2. Add the sensitive keys
cp ~/.ssh/id_ed25519 .
cp ~/.gnupg/private-keys-v1.d/* .
vaultix add id_ed25519

# 3. Verify and sync
vaultix list
# Now I can zip this 'my_identity_backup' folder
# and upload it to Google Drive without fear.

How It Works (The Techy Stuff) 🤓

For the security nerds out there (like me), here’s the architecture. I followed the Golden Rule: Don’t Roll Your Own Crypto.

ComponentDetails
LanguageGo (1.21+)
EncryptionAES‑256‑GCM (authenticated encryption)
Key DerivationArgon2id (resistant to GPU cracking)
StorageAll data lives in a hidden .vaultix/ folder in your directory
Password handlingVaultix never stores your password; it exists only in memory while the program runs. If you lose the password, the data is gone forever (feature, not a bug).

Quick Start

Grab the binary for Windows, macOS, or Linux from the Releases page, or build it from source if you have Go installed:

go install github.com/zayan-mohamed/vaultix@latest

Initialize a vault

cd my_secrets
vaultix init
# Enter a strong password...

Add a file

vaultix add .env

List your secure files

vaultix list
# Files in vault:
#   .env

That’s it. Your .env file is now encrypted at rest.

Why Go? 🐹

I chose Go because I wanted a single static binary with zero dependencies. Users don’t need to install Python, Node, or OpenSSL libraries just to decrypt their files. You download vaultix, and it just works.

Give It a Try!

I’m looking for feedback, contributors, and security enthusiasts to break it (or fix it).

💻 GitHub:

GitHub logo

Repository: Zayan-Mohamed/vaultix – a cross‑platform CLI tool for managing password‑protected encrypted folders.

Encrypted folders

  • Uses AES‑256‑GCM encryption with Argon2id key derivation.
  • Single binary, zero dependencies.
  • Works on Linux, macOS, and Windows.

vaultix

Release
Go Version
License
Platform
Encryption
Build Status

A cross‑platform command‑line tool for managing password‑protected encrypted folders

Features
Installation
Quick Start
Documentation
Security
Contributing

📖 Overview

vaultix is a secure, lightweight CLI tool that encrypts files in‑place using military‑grade cryptography. No cloud, no services, no complexity—just strong encryption for your sensitive files.

Key Highlights

  • 🔒 Strong Encryption – AES‑256‑GCM with Argon2id key derivation
  • 🚀 Zero Dependencies – Single static binary, no runtime requirements
  • 💻 Cross‑Platform – Works on Linux, macOS, and Windows
  • 🎯 Simple UX – Intuitive commands with smart defaults
  • 🔐 No Password Storage – Passwords exist only in memory
  • 📦 Portable – Encrypted vaults are interchangeable across all platforms

✨ Features

  • Automatic Encryption – Initialize a vault and all files are encrypted instantly.
  • Fuzzy File Matching – No need to type exact filenames.
  • Default to Current Directory – Less typing, more doing.
  • Extract or Drop – Extract…

📄 Docs:

If you find it useful, drop a ⭐ on the repo—it helps a lot!

Disclaimer: While I used industry‑standard libraries, always keep backups of your important data!

Back to Blog

Related posts

Read more »

Decorative Cryptography

Article URL: https://www.dlp.rip/decorative-cryptography Comments URL: https://news.ycombinator.com/item?id=46496494 Points: 24 Comments: 3...

Building a Secure Password Manager

Overview This project is a secure desktop password manager built using Python and Tkinter. It stores and manages credentials locally with strong encryption and...