Skip to main content

obsideo-cli

Client-side encrypted storage: your content is encrypted on your machine before upload, so the platform cannot read it. File and folder names are encrypted too, by default (AES-SIV, keyed off your data key), so the platform sees opaque tokens rather than your filenames. Save, browse, and sync whatever you want from your terminal. Files are encrypted on your machine before they leave, so Obsideo's gateway, coordinator, and storage providers only ever see ciphertext. Your data lands on three providers (RF=3).

pip install obsideo-cli
obsideo login    # email -> 12 GB free
obsideo          # open the shell

Get started

$ obsideo login
Enter your email: you@example.com
Check your email for a verification code.
Enter verification code: 482913
You're all set. 12 GB free.

Login is handled by Obsideo's signup service at signup.obsideo.io: it emails you a one-time code and provisions your free tier. There's no password - just your email and a local key (see How it works).

Then either drop into the shell or run one-shot commands:

$ obsideo
obsideo:/ put ~/notes.txt
obsideo:/ ls
  [file] notes.txt  1.2 KB
obsideo:/ put ~/photos                       # a whole folder, uploaded recursively
obsideo:/ put "C:\My Files\tax return.pdf"   # paths with spaces: just quote them
obsideo:/ mkdir trip
obsideo:/ cd trip
obsideo:/trip/ put ~/cat.jpg
obsideo:/trip/ get cat.jpg ./downloaded.jpg

Commands

Command Description
obsideo login Sign up / log in with your email (12 GB free)
ls [path] List files and folders
cd <path> / pwd Move around / show location
put <local> [name] Encrypt + upload a file, or a whole folder (recursive). --no-encrypt to store as-is
get <remote> [local] Download + decrypt a file
rm <remote> Delete a file
mkdir <name> Create a folder
info <remote> Show object metadata
account Show storage used vs. your free quota
key status|export|import Back up or restore your encryption key (see below)
sync push|pull|status Sync your local folder with Obsideo
config [set k v] Show or change settings

Using it on more than one machine

Your files are encrypted with a key generated on your machine and held only there. A second machine that logs in without that key gets a new one, and your existing files stay unreadable on it (they show as ? in ls). Nobody can reissue the key for you, us included.

So before you need it:

obsideo key export          # prints the line to save, or: key export ~/obsideo-key.txt

Then on the other machine, before uploading anything:

obsideo key import OBSIDEO_DATA_KEY=...
obsideo key status          # same fingerprint on both = both can read the same files

key status prints a fingerprint, not the key, so it is safe to compare over any channel. Importing over an existing key needs --force, because it makes whatever the old key protected unreadable.

How it works

obsideo is a thin front-end over the shared obsideo_core layer (storage seam, signing identity, account crypto, email-OTP login). The mlvault ML extension builds on the same core - build the core once, two front-ends.

  • Encryption: AES-256-GCM with one account data key held locally at ~/.obsideo/data.key. Copy that key to another machine and everything is readable there; lose it and the data is unrecoverable by design. Back it up.
  • Signing identity: an Ed25519 key (~/.obsideo/signing.key) authorizes deletes (Principle 2 - the network can't delete your data without your signature). Generated locally; only the public half is ever sent.
  • Filename encryption: on by default (encrypt_names). Each path component (folder names + filename) is encrypted on your machine with AES-SIV - deterministic, so ls/cd still list under the encrypted prefix and the client decrypts the returned tokens back to real names. Turn it off with config set encrypt_names false (interop/debug; existing objects aren't migrated).
  • What Obsideo sees: ciphertext only - never a filename or a byte of content. Residual leaks (by design at this level): directory structure (depth, fan-out), object sizes (ciphertext ≈ plaintext), and object counts. Identical names encrypt to identical tokens, so Obsideo can tell two objects share a name - never what it is.

License

MIT

Metadata

Release files for obsideo-cli 0.6.1.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for obsideo-cli 0.6.1.post1
File Size Uploaded
obsideo_cli-0.6.1.post1.tar.gz 44.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for obsideo-cli 0.6.1.post1
File Interpreter ABI Platform
obsideo_cli-0.6.1.post1-py3-none-any.whl Python 3 none any Details

Total release size: 82.5 kB

Release files / obsideo_cli-0.6.1.post1.tar.gz

Download URL obsideo_cli-0.6.1.post1.tar.gz
Size 44.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e8f73ad9f42e76fe964c8d68f5d10812802e45ba81efa936c1b24134ca75f09a
BLAKE2b-256 checksum
How to use checksums
091f40484dca27bec5645eb7661e982dcb051a7d734973e560afd7585315402e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / obsideo_cli-0.6.1.post1-py3-none-any.whl

Download URL obsideo_cli-0.6.1.post1-py3-none-any.whl
Size 38.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6bd1ccaf6b5ef06bdd78d84f8af72f2e53ecd39b298cae7cfe25636fbc47b2df
BLAKE2b-256 checksum
How to use checksums
3630b43c9bec464b68c3381481f0fc7367628af0e0654bad8d197d22cfcd46c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.6.1.post1 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page