documentation
vart is a small, focused cli for signing and verifying text-based content. it creates encrypted bundles (.vart) that bind a document to an identity and allow integrity checks.
installation
install the cli globally from npm:
npm install -g vart-cliunix/mac: an installer script is included to bootstrap a persisted master secret.
./install-vart.shgenerate local keypair
generate a local authority keypair under ~/.vart/. the private key is kept locally (0600) and can be used to sign fingerprints at registration time.
vart initregister identity
create a new identity file (.vart) containing your encrypted identity data. keep the generated file safe — it is required to sign articles.
vart reg --name "alice" --description "journalist"flags
--name— display name (required)--email— public contact email--website— website url--description— short bio or role--org— set totruefor organization identities- if flags are omitted, interactive mode will run
output: [sanitized_name].vart
sign article
sign a text file using a writer identity. the resulting.vart bundle contains the original text, metadata, and a cryptographic fingerprint.
vart sign article.txt alice.vartoutput: article.vart
verify identity
decrypts and displays an identity file (requires the master secret or the identity file itself if the tool is configured accordingly).
vart verify alice.vartverify article
verifies that the signed article content matches its stored fingerprint. this checks that the text was not altered after signing.
vart verify-article article.vartverify public
perform authority signature verification using the public fingerprint and authority public key embedded in the .vart wrapper. this does not require the master secret.
vart verify-public alice.vartstatus
show current configuration and whether master secret / authority keys are available.
vart statusjoin organization
combine a writer identity with an organization identity to produce a joint identity file.
vart join alice.vart metro_news.vartoutput: alice_at_metro_news.vart
general information
here's how you can contribute, see the license i'm using, and how to support me!
contributing
contributions are welcome! please open an issue or submit a pull request. read more about contributing to vart on github.
supporting
if you find vart useful, consider supporting me via trakteer (ID) or paypal (International). also stream my songs here!
changelog
v1.1.0 latest
- set authority fingerprint signing/verification to Ed25519-safe
crypto.sign/crypto.verify - added
vart inf - added public content fingerprints/signatures for signed articles and enabled verify-public to validate plaintext articles against those signatures.
v1.0.1 previous
- fix: ensure authorityPublicKey and authoritySignature fields are set when available
- feature: added
vart initandvart status - security: added canonical fingerprinting and improved master-secret handling
v1.0.0 initial
- initial public release with core cli:
reg,sign,verify,join - format: introduced standardized
.vartjson wrapper