aven-stellar, not an afterthought. The CLI is built around a strict boundary: it records enough information to verify that meaningful work happened, and nothing more. Every collection decision was made with the assumption that workers should never have to choose between getting paid and keeping their code private.
What the CLI Records
The following data is included in a submitted work report:
The payment amount is derived automatically from tracked active seconds multiplied by the stream’s on-chain rate. Workers do not enter or negotiate the payment amount themselves.
What the CLI Never Does
The .avenignore File
When you run aven start for the first time in a repository, the CLI automatically creates .avenignore in your repository root. This file works exactly like .gitignore: any path matching a pattern in .avenignore is excluded from the work report.
The default .avenignore created by the CLI protects the most common sensitive paths:
secret, credential, private_key, or password are automatically excluded regardless of .avenignore.
The CLI respects both .gitignore and .avenignore simultaneously. Any path excluded by either file is omitted from the report.
Local State Storage
All CLI state is stored in the.aven/ directory at your repository root. This directory is created with mode 0700 (owner access only), and each file inside it is created with mode 0600 (owner read/write only).
The
.avenignore file created automatically by the CLI includes .aven/ in its patterns, which prevents the directory’s contents from appearing in change reports. However, this does not prevent the directory from being committed — add it to .gitignore as well.
If submission fails, the report is retained in .aven/report.json and .aven/session.json preserves the original stop time. Running aven stop again retries the submission without adding the delay as work time.
Authorization Token Scope
The Aven CLI uses a device authorization flow. When you runaven start for the first time, the CLI opens /cli/authorize in your browser and asks you to sign a short-lived request with your Freighter wallet. The resulting token is scoped and cannot perform all dashboard actions.
The CLI token CAN:
- Read the authorized worker’s streams and stream metadata
- Submit work session reports to streams where the wallet is the recipient
- Request employer review of a submitted session
- Create new streams or modify stream parameters
- Approve the worker’s own sessions
- Access another user’s streams or session data
- Sign on-chain transactions directly
.aven/config.json is accidentally exposed, an attacker can only submit work reports to your own streams — they cannot approve payments or access other users’ data.