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.

current: v1.1.0

installation

install the cli globally from npm:

npm install -g vart-cli

unix/mac: an installer script is included to bootstrap a persisted master secret.

./install-vart.sh

generate 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 init

register 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 to true for 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.vart

output: 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.vart

verify 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.vart

verify 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.vart

status

show current configuration and whether master secret / authority keys are available.

vart status

join organization

combine a writer identity with an organization identity to produce a joint identity file.

vart join alice.vart metro_news.vart

output: 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 init and vart 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 .vart json wrapper