# Users and releases

Two small additions make every issue far more useful: who hit it, and which version of your app they were on.

## Tell BugTape who the user is

After the user signs in, call `identify` once:

```js
import { identify } from 'https://app.bugtape.ai/bugtape.mjs';

identify({ userId: user.id, email: user.email, name: user.name });
```

Now each issue lists the people who hit it, so you can tell one user from everyone, and you can open one person's timeline to see every bug they ran into. Only send what your privacy policy allows; a user ID alone is enough.

## Tell BugTape which release it is

Pass your release to `init`:

```js
init({ apiKey: 'bt_live_your_key_here', release: '2026.09.27' });
```

If you leave it out, BugTape reads `BUGTAPE_RELEASE` or common CI variables such as `GITHUB_SHA` and `VERCEL_GIT_COMMIT_SHA` where they are available. Issues then show which releases a bug happened on, and a bug that comes back after you resolved it is marked as a regression.

## Environments

Keep staging and production apart:

```js
init({ apiKey: 'bt_live_your_key_here', context: { environment: 'staging' } });
```

## Next

Check what BugTape records and hide anything private.
