# ObsidianDart

ObsidianDart is a minimal, command-line cryptography utility intended for the secure local storage of sensitive, text-based information such as passwords or credentials.

The program is written in C++ for Linux systems and leverages system-provided cryptographic libraries, specifically OpenSSL, to perform AES-256-GCM encryption and decryption with a key derived from your passphrase by PBKDF2-HMAC-SHA256. By relying on pre-packaged, well-audited tooling, ObsidianDart avoids unnecessary complexity while maintaining strong cryptographic primitives.

ObsidianDart operates entirely through the terminal and encrypts or decrypts a file located in the working directory (`passwords.wf`). The file format is user-defined and may use tab- or comma-separated values, allowing the decrypted output to be easily parsed or opened in external applications.

This project is intentionally lightweight and narrowly scoped. It is not a full password manager, but rather a simple local encryption tool designed to minimize attack surface by avoiding cloud services, background daemons, or large software stacks.

ObsidianDart is free software under the GNU GPL v3 or later. Copyright (C) 2026 Sanchez Performance LLC.

## Build Notes

ObsidianDart depends on OpenSSL (`libcrypto`).

```bash
make                       # builds ./obsidiandart
make install               # copies it to ~/.local/bin
make install PREFIX=/usr/local   # system wide (run with sudo)
make uninstall
```

Run `obsidiandart` in the folder that holds `passwords.wf` or `passwords.wf.enc`. `obsidiandart --help` and `--version` are also available. Set `NO_COLOR` to turn colors off.

Files from o1.1A decrypt with this revision unchanged. Files encrypted by o1.0A use an old format and will not decrypt.
