Skip to main content
Aven is built on a privacy-first principle — work can be verified without exposing intellectual property. The CLI collects only the metadata needed to demonstrate that real work happened: timing, Git statistics, and file paths. It never reads file contents, records keystrokes, or transmits anything excluded by your ignore files.

What the CLI Collects

The session report contains the following information:
The CLI process never reads file contents. Change statistics are derived from git diff --stat-style output — only line counts and paths, not the actual code.

What the CLI Never Collects

The following data is explicitly out of scope and is never included in any report or network request:
  • File contents — no source code is uploaded at any point
  • Keystrokes, mouse activity, or screen recordings
  • Screenshots or camera input
  • Your Stellar secret key or Freighter wallet credentials
  • Files and directories excluded by .gitignore or .avenignore
  • Project code execution — the CLI never runs your code or test suite
  • Dependency installation — the CLI never runs package manager commands in your repository
  • Environment variables or project configuration values
  • Secrets, API keys, or tokens found in your working directory

The .avenignore File

On the first start, the CLI automatically creates .avenignore at your repository root with a set of safe defaults. This file works exactly like .gitignore — add glob patterns to exclude additional paths from the session report. Both files are combined: any path matched by either .gitignore or .avenignore is excluded. The default .avenignore written by the CLI:
You can add your own entries below the defaults:
In addition to pattern matching, the CLI scans every path for secret signals — patterns that look like private keys, bearer tokens, or password assignments. Any path that matches is automatically excluded even if it is not listed in .avenignore.

Authorization Model

The CLI connects to the Aven dashboard using a time-limited authorization token rather than your wallet credentials directly.
  1. On first use, aven start opens the Aven dashboard in your browser
  2. You authorize the connection using your Freighter wallet — the CLI receives a short-lived token, never your secret key
  3. The token is stored in .aven/config.json, scoped to your repository
  4. On subsequent sessions the CLI reuses the saved token; if it has expired, aven start reopens the browser for a fresh authorization
  5. The CLI verifies that your wallet address matches the stream recipient before every session
Your Stellar secret key never leaves Freighter and is never transmitted to the CLI, the dashboard, or any Aven API.

File Categories

The CLI categorizes every changed file to determine whether it counts toward the verification scope. Files marked generated or dependency are excluded from verification automatically. Only source, test, documentation, and configuration files are submitted for on-chain verification. Generated and dependency files are recorded in the local report for completeness but stripped from the submission.