Skip to main content

A zero-knowledge encrypted vault CLI tool.

Project description

🔐 PaasZK – Secure Vault Sync CLI

Project Logo

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.4.tar.gz (13.9 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.4-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: paaszk-0.1.4.tar.gz
  • Upload date:
  • Size: 13.9 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.4.tar.gz
Algorithm Hash digest
SHA256 907c430954e21a845ebcd017e5327e5001b5b96fdec39037cd5449a0f327f193
MD5 021e1aa2fd3ae6f36618890dce8d452e
BLAKE2b-256 f65c7dfd1e6e0637ecb9897f938f7976877edcb5b200048b062105c8a978fe81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: paaszk-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 15.5 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 262896b5efa717cdf726db187bb0a80c60c3fbfecd344b7c259267112bed595a
MD5 0f54453a5e4e93d9ecac89ee7e2f4287
BLAKE2b-256 db9fafe801315896cdb354482858a16320e1c7404e492291ca3d62c181362809

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