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

# Users and sessions

> Add stable application joins for cohort and workflow analysis.

Pass the stable internal user ID your application already owns. Use the same ID
on generations, actions, and annotations that belong to that user.

Do not use an email address or display name. The identifier should remain stable
when those values change.

Use `identify()` only when application-known user properties improve analysis:

```ts theme={null}
keeps.identify(userId, {
  plan: "pro",
  team_size: "11-50",
});
```

A session ID represents an existing creative workflow, job, or editing session.
Keeps uses it as a join key; it does not infer a workflow graph.
