js
Skate.identify({
id: user.id, // required: your own user id, 1 to 200 characters
email: user.email, // optional
name: user.name, // optional
roles: ['admin'], // optional, up to 20
traits: { plan: 'pro' }, // optional, up to 30 values: text, number or true/false
company: 'Acme', // optional
hmac: signedId, // required only if you turned on "Require a signed id"
});
Skate.identify(null); // on sign-outIf your code runs before the widget loads, queue the call. The widget sends it when it boots:
js
window.SkateQueue = window.SkateQueue || [];
SkateQueue.push(['identify', { id: user.id }]);Privacy
- Off by default. Nothing is stored until the site owner turns it on (dashboard: Assistant › Widget › Identify your users). While it is off, the call is accepted and dropped.
- Email and name are hashed by default. Skate keeps a keyed hash, never the address. The key is different for every site, so the same email on two sites gives two unrelated hashes. The owner can turn hashing off to see plain emails and names.
- Signed ids (optional). With “Require a signed id” on, your server signs the user id:
hmac = HMAC-SHA256(signing key, id), as hex. The signing key is shown on the same page. An unsigned or wrongly signed id is refused, so a visitor cannot claim to be someone else. - Never sent to the AI model. Identity is stored for your dashboard and targeting only. It is not part of any planning request.
- Per site. Ids, traits and hashes belong to one site. They are not shared with another site, joined across customers, or sold.
- Per tab in the browser. The widget keeps the identity in session storage for the tab, re-sends it on each page load, and forgets it on
Skate.identify(null)or when the tab closes. - Deletion. Turning identify off stops collection. To delete one person and everything Skate holds about them on your site (conversations, tasks, tickets, checklist progress), use Delete on their row in Insights › Users.