shebang!

Handles

The @handle every account has — where it's used today, and where it used to appear in urls.

Handles

Every sherlock account has a unique @handle — 3 to 20 characters, lowercase letters, numbers, and underscores. It's shown next to your email on the account page, with a Change handle dialog to pick a new one at any time.

Reserved names

A handful of names are reserved and can never be claimed, including admin, root, support, help, api, auth, shebang, dash, and each service's own name (sherlock, sherpage, sherserve, sherlink, sherbase). Picking one of these returns "Already taken" even though no account holds it.

The list is enforced server-side at three points, all kept in sync: the pre-signup availability check, the sign-up trigger that assigns a handle to a new account, and a database constraint on the profiles table itself — so a reserved handle can't slip through even if the first two are bypassed.

Where a handle is used

Today, a handle's only real job is identifying your account — in the delete-account confirmation dialog, for example, which asks you to type it back before it will proceed.

The old @handle/slug url form

Before public ids, a published page or uploaded file's address was built from its owner's handle and the resource's slug — dash.shebang.pro/@yourhandle/some-slug, in effect. That form is superseded: every resource now gets a permanent, handle-independent address instead. See public ids and urls for the current shape, and for how an old @handle/slug link keeps working via a redirect rather than breaking outright.

Because a handle can still be changed later, nothing that has to keep working — a bookmark, a link shared once — should ever be built from it again.

Next

sherpage.