# Dashboard (https://auraimage.ai/docs/dashboard)



The [dashboard](https://app.auraimage.ai) shows what's actually happening at the edge: how many images you serve, what formats they end up in, and how fast they paint in real users' browsers.

## LCP telemetry [#lcp-telemetry]

`<AuraImage />` includes an opt-in `PerformanceObserver` that reports observed LCP back to the edge:

```tsx
<AuraImage src='my-app/hero.jpg' alt='…' width={1200} height={800} priority telemetry />
```

When `telemetry` is set, the component POSTs to `${NEXT_PUBLIC_AURA_CDN_URL}/v1/telemetry`:

```json
{ "lcp": 1284, "projectName": "my-app", "pathname": "/" }
```

No PII, no user identifiers, no cookies. Just LCP in milliseconds and the page path.

The dashboard surfaces:

| Metric                | Description                                                              |
| --------------------- | ------------------------------------------------------------------------ |
| **Avg LCP**           | Mean LCP across all reporting page loads.                                |
| **p75 LCP**           | 75th-percentile LCP — the Core Web Vitals threshold metric.              |
| **Total beacons**     | Number of page loads that reported LCP.                                  |
| **Slowest pages**     | Top 10 pathnames by mean LCP, with beacon counts.                        |
| **Saved time / view** | Estimated bytes saved versus a 500 KB baseline JPEG, divided by 25 Mbps. |

## Format distribution [#format-distribution]

A breakdown of what your users actually receive after automatic format negotiation:

```
AVIF   ████████████████░░░░  72%
WebP   █████░░░░░░░░░░░░░░░  25%
JPEG   ░░░░░░░░░░░░░░░░░░░░   3%
```

If AVIF sits below 50% on a modern audience, double-check that your URLs aren't pinning an explicit extension (a `.jpg` somewhere) instead of the canonical extension-less URL that lets the CDN negotiate the best format.

## Wallet Guard [#wallet-guard]

Wallet Guard caps your **monthly overage spend** so a viral spike can't generate a surprise bill. Set the cap from **Settings → Billing → Wallet Guard**:

* Below the cap: requests serve normally and overage accrues at the published per-GB rate.
* At the cap: the service throttles to **read-only** until the next billing cycle. Existing edge-cached responses keep serving (free); cache misses, transforms, and uploads return `402 Payment Required`.

There is no hidden default — if you don't set a cap, the project will keep serving and accruing overage indefinitely. Set a cap during signup.

## Cache performance [#cache-performance]

| Metric              | Description                                                                                      |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| **Cache hit rate**  | Share of public-image requests served from the edge cache (target: ≥ 95%).                       |
| **Origin requests** | Public requests that missed cache and hit the transform pipeline (R2 fetch + Cloudflare Images). |
| **p99 TTFB**        | 99th-percentile Time to First Byte for cached image responses.                                   |

A hit rate below 90% usually means image URLs vary too much. Standardize on a small set of widths (e.g. `w=400, 800, 1200`) and avoid passing user-derived numbers straight into `w` / `h`.

Private images bypass the shared cache by design (see [Private Images](/docs/private-images)) — they don't count toward the hit-rate metric.

## CLI sessions [#cli-sessions]

**Settings → CLI sessions** lists every device that has signed in via `aura login`. Each row shows the hostname the CLI reported, when the session was created, and when it was last used. Click **Revoke** to invalidate that session immediately — the next CLI command on that machine will fail and the user will need to run `aura login` again. Run `aura logout` from the CLI to revoke the local session and remove `~/.aura/credentials` in one step.

## See also [#see-also]

* [URL API → Response headers](/docs/url-api#response-headers) for `X-Aura-Cache`, `X-Aura-Smart-Crop`, and the per-stage `Server-Timing` breakdown you can read directly from DevTools.


## Related

- [Upload Flow](https://auraimage.ai/docs/upload)
- [Private Images](https://auraimage.ai/docs/private-images)
- [Pricing](https://auraimage.ai/docs/pricing)