# Handles

> Owner handles. Users and organizations sharing one global namespace.

Every dataset on Esker is owned by a handle. Handles are users **or** organizations sharing one global namespace.

## What a handle looks like

```
statcan          (an organization)
archie           (a user)
sec-foundation   (an organization)
acme             (an organization)
```

Lowercase, alphanumeric and hyphen, 1–39 characters, no leading or trailing hyphen, no consecutive hyphens. The same rules GitHub uses, applied uniformly to users and orgs.

## Reserved handles

A small list of names cannot be claimed because they collide with platform routes or artifact filenames:

```
api app auth cli dashboard datasets docs hub
login logout me new orgs owners search settings
sign-in sign-up static users www
data manifest schema lineage
```

If your handle of choice is reserved, pick another.

## Getting a handle

You don't claim one explicitly. Esker assigns one when you sign up (derived from your username or email) and on org creation (the org's slug becomes its handle). Both go through the same `owners` table — collisions across the user/org boundary are resolved at signup time.

Rename your own handle later with `esker config set-handle <new>`. Old `<old>/<name>` URLs 301 to `<new>/<name>` — direct-URL consumers keep working; lockfile-bound consumers re-resolve on next `esker sync`.

## Verification

`owners.verified_at` is the only judgment Esker makes about a handle. It says: **we have confirmed this account is who it claims to be**. Identity, not authority.

A verified badge does not say "this dataset is the canonical one." Esker doesn't make that call. Verification helps you tell `statcan` (the real one) from `staatcan` (the typosquatter), no more.

When a publisher is verified, the badge appears next to their handle in disambiguation lists, profile pages, and search results. Verification is administered out-of-band — automated where DNS or domain ownership can prove identity, manual review otherwise.

## Handles in URLs

```
esker.so/statcan                                profile
esker.so/statcan/ca.corporations.registry       dataset (latest)
esker.so/statcan/ca.corporations.registry@1.0.0 versioned
esker.so/ca.corporations.registry               disambiguation page
                                                (lists every publisher of this name)
```

The single-segment URL routes by pattern alone — handles never contain dots, names always do — so `/statcan` and `/ca.corporations.registry` can never collide.

## See also

- [Naming](https://esker.so/docs/protocol/naming.md) — domain IDs, ref formats
- [Bindings](https://esker.so/docs/sdk/bindings.md) — how bare names map to `<owner>/<name>`
