Skip to main content

A zero-knowledge encrypted vault CLI tool.

Project description

🔐 PaasZK – Secure Vault Sync CLI

PaasZK is a lightweight, CLI-based encrypted vault system that lets you safely store and sync confidential files across cloud providers. It supports encrypted file storage, cloud synchronization, and backend storage abstraction — all under your control.


🔒 Purpose

PaasZK was built to:

  • Encrypt your sensitive files locally using strong AES encryption.
  • Store and synchronize encrypted files across multiple cloud storage providers (S3, Dropbox, Google Drive).
  • Allow easy configuration of storage backends using a secure YAML config file.

🛡️ Encryption Details

  • Algorithm: AES-256 GCM (Galois/Counter Mode)
  • Key Derivation: From passphrase using your master key loading mechanism.
  • Config & metadata are stored in an encrypted YAML file using AES-GCM with random IV and authentication tag.

AES-GCM provides authenticated encryption, meaning it protects both the confidentiality and integrity of your data.


⚙️ Basic Usage

# Initialize a new vault in the current directory
paaszk init [--import-key PATH]
##Sets up the current directory as a new encrypted vault.

## --import-key PATH: Optional path to an existing encrypted derived master key to import instead of generating a new one.

# Encrypt and push encrypted files to remote storage
paaszk push [FILE_OR_FOLDER] [--storage STORAGE_NAME] [--recursive]
##Encrypt and upload files to your configured storage.

##Defaults to current directory if no file/folder specified.

##--storage STORAGE_NAME: Specify which storage backend to use.

##--recursive: If pushing a directory, recursively include all subfiles.


# Pull remote encrypted files into vault
paaszk pull --storage STORAGE_NAME
##Download and decrypt all files from the specified storage backend into your local cache.

# Configure storages
paaszk config <command> [options]
#Available subcommands:

 #   list: List all configured storage backends.

paaszk config list [--yaml]

  #  --yaml: Output the raw YAML config.


#add: Add a new storage backend.

paaszk config add NAME

 #   NAME: The name to assign the new storage backend.

#remove: Remove an existing storage backend.

paaszk config remove NAME

 #   NAME: The storage backend to remove

----------------------------------------------------
#Initialize a vault and import an existing key:

paaszk init --import-key ./my_derived_key.enc

#Push all files from current folder recursively to Dropbox backend:

paaszk push . --storage dropbox --recursive

#Pull all files from the Google Drive backend:

paaszk pull --storage google_drive

#Add a new S3 storage backend called my_s3:

paaszk config add my_s3

#List all storage backends in YAML format:

paaszk config list --yaml
 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paaszk-0.1.3.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paaszk-0.1.3-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file paaszk-0.1.3.tar.gz.

File metadata

  • Download URL: paaszk-0.1.3.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for paaszk-0.1.3.tar.gz
Algorithm Hash digest
SHA256 4664d9e2fed8302311cf4c28436c761e9263319b30efc8f60a00cf3d08e136c7
MD5 7896a4eabd3412497acf972f11d89134
BLAKE2b-256 d4490d0ab2254a3fbc7fda155fedbd1950e2257ee6b9091329217842d2a39501

See more details on using hashes here.

File details

Details for the file paaszk-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: paaszk-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for paaszk-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 107fc6185b4483f4bc3cf920620db78ed3340ea860a62d900590e66ca9a715b6
MD5 69146dcc0f4c5aeebfde15cd5ed30589
BLAKE2b-256 b04f9728942503d6954eaa7eebb87a6b42f1554c2cb04fe637deaf7773a96bad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page