# Account and data

## What your account allows

```sh
waitcher system capabilities
```

Shows the monitor types, limits and features that apply to your account now. Agents should read it before planning a monitor the account may not allow ([Monitors](monitors.md#personal-account-limits)).

## Plan and billing

```sh
waitcher account billing          # plan, limits and subscription
waitcher account upgrade          # Stripe Checkout link for Pro (--yearly for the yearly price)
waitcher account billing-portal   # change the payment method or cancel
```

Pro costs 12 USD a month, or 120 USD a year where the server offers yearly billing ([plans side by side](https://waitcher.dev/pricing)), and each account can try it free for 14 days without a card (`waitcher account upgrade --trial`, or Try Pro free in the web app): 25 monitors checked every 5 minutes, 5 API or browser tests every 30 minutes, 240 test runs a day. `account billing` also shows what you use now. You pay on Stripe's page; the plan changes when Stripe confirms the payment. In the web app the sidebar shows your usage with Upgrade to Pro, New monitor at the Starter limit offers Pro, and Account data, Plan compares the plans. When a trial ends without a card, or if you cancel, the plan returns to Starter at the end of the paid period and monitors Starter does not allow (over its count, or checked more often than every 30 minutes) are paused, never deleted. Deleting your account ends the subscription first.

## Retention

Evidence (screenshots, logs, traces) is kept 1 to 7 days, default 7. Reports and run history are kept 1 to 14 days, default 14, and at least as long as evidence.

```sh
waitcher account settings
waitcher account configure --file retention.json --expected-revision N
```

`retention.json` is `{"artifactDays":7,"metadataDays":14}`; the revision comes from `account settings` and starts at 0. Shortening removes existing data in the background; lengthening never brings expired data back. `waitcher account activity` lists recent project, access and setting changes.

## Export

```sh
waitcher account export --file ./private/waitcher-account.tar.gz
```

Creates an archive of your configuration, history and retained evidence, waits up to 90 seconds (`--timeout`), checks its size and SHA-256 and writes it to a new private file. If it times out, `waitcher account exports` lists the job and `--id ID` resumes it. The archive is not encrypted and can contain secrets from scripts and evidence; secret values for environments and alert channels are not included.

## Deletion

```sh
waitcher account deletion
waitcher account deletion-prepare --expected-revision N --output ./private/receipt.json
waitcher account delete --id JOB_ID --expected-revision N --confirm 'DELETE MY ACCOUNT' --receipt-file ./private/receipt.json
waitcher account deletion-status --receipt-file ./private/receipt.json
```

`deletion` previews what will be removed. Preparing removes nothing and expires after 15 minutes. Confirming is irreversible: it revokes access and removes your monitors, history, evidence, tokens and secrets. The receipt lets you check progress after your sign-in stops working. After an uncertain confirmation, check `deletion-status`; never confirm twice.

## Updating the CLI

Install the new archive from the waitcher.dev home page the same way as the first time. Then, in each repository:

```sh
waitcher skill install       # refresh the agent skill
waitcher runtime install     # lists runtime upgrades; rerun with --yes
waitcher doctor
```

After a CLI update the previous runtime still deploys for one release with a `RUNTIME_VERSION_OUTDATED` warning. `doctor` warns when your CLI and the server disagree on the runtime.
