Identity
Persistent portraits, circular presence, and the catalog shared by people, shells, and agents.
Persistent identity is not editorial illustration. People, shells and agents receive a portrait from the same catalog so they remain recognizable on every surface where they act.
One shared catalog, distinct identities
The catalog lives locally and each organization avoids repeating a portrait across its people and agents. Full color remains intact: tinting, cropping or filtering breaks the visual memory the portrait builds.
Changing an avatar selects another free identity; it never generates an image at runtime and never blocks saving the profile. If the catalog cannot resolve an image, the Spark appears as an honest fallback.




Portrait is square; presence is circular
The square portrait answers who this is: it lives in the library, My account and Playground selectors. Circular presence answers who is acting now: operational avatar, initials, status point or voice orb.
The catalog portrait is not rounded to turn it into presence. When context calls for a circle, use presence geometry and its fallback instead of creating a new crop of the character.
Identity portrait

Amanda
Close consultant
Active presence
Agent speaking
The circle expresses state
The same identity survives from 24 to 128px
At 24px silhouette and color do the work. At 40px it becomes a row portrait. At 128px it can lead the identity sheet without another frame, badge or background.
When the name already sits beside it, alt stays empty to avoid repetition. When the image communicates identity on its own, alternative text uses the visible name, never the internal filename.



Three canonical homes
Agents uses the portrait to recognize a persona; My account uses it for the seller’s shared identity; Playground uses it to confirm who will answer before a test begins.
It does not appear in data tables, empty states, charts or commercial evidence. Those surfaces use a name, initials or presence so the data keeps the foreground.
- Catalog
- 48 portraits · local WebP
- Master
- 512 × 512px · full color
- Portrait
- square · no additional crop
- Presence
- circle · state or active actor
- Scale
- 24 / 40 / 128px
- Fallback
- Spark on surface-subtle
- Assignment
- unique per organization
- External runtime
- none