> ## Documentation Index
> Fetch the complete documentation index at: https://interfere.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Surfaces

> Manage the apps Interfere watches, their keys, environments, and releases.

A [surface](/concepts#surface) is one of your apps. This is where you [create one](https://interfere.com/~/*/surfaces/create), manage existing [surfaces](https://interfere.com/~/*/surfaces), and check they're healthy.

<img src="https://mintcdn.com/interfere/v8MNz-ve7d-NlcAv/images/surface.png?fit=max&auto=format&n=v8MNz-ve7d-NlcAv&q=85&s=bd7f23bb32110c968b8fd4eefe2b5943" alt="Surface dashboard showing event volume, integrations, keys, environments, and releases" width="5106" height="2462" data-path="images/surface.png" />

## Events flowing

Once your SDK is installed and sending data, the surface shows events flowing and the chart fills in with the volume of events over time. Before the first event arrives, the surface waits. If you've deployed but still see nothing, open [Surfaces](https://interfere.com/~/*/surfaces) and check that the SDK is installed and your keys are set.

## Keys

Each surface has two keys in [Surfaces](https://interfere.com/~/*/surfaces), and they do different jobs:

* **Public key** (`INTERFERE_PUBLIC_KEY`). Identifies the surface so the SDK can send telemetry. It's safe to ship in the browser; it only authorizes ingestion.
* **API key** (`INTERFERE_API_KEY`). A server-side secret, sometimes thought of as the private key. It uploads source maps and registers releases from CI. Keep it out of client code.

## Environments

An environment labels where traffic came from, such as `production`, `staging`, or `preview`. Interfere keeps them separate so development noise doesn't mix in with real problems.

## Releases

A [release](/concepts#release) is a version of your code, identified by its commit. Surfaces track releases so a problem lines up with the deploy that introduced it, which is also how [regressions](/concepts#regression) are caught. Releases come from the Next.js and Vite build plugins automatically, or from the [CLI](/integrations/cli) on other setups.
