Identifiers & URL Structure
This section defines how user and company repositories are identified and addressed in SynergyOS, and how these identifiers are also used in mentions, search, sharing, and routing. The format is designed to be clean, readable, unique, and reversible, without requiring encoding.
What It Is
SynergyOS assigns a stable identity to each user and company based on their canonical email address or domain. This identity is used to:
- Define their repository path under
synergyos.com
- Support mentions in text (
#user@domain
,@domain
) - Generate URLs that are stable, predictable, and grouped logically
This transformation follows two strict rules:
Component | Rule |
---|---|
Local part | Used verbatim (e.g. john.doe , dev_team ). |
@ symbol | Replaced with a single dash - to separate local part from domain. |
Domain | Used verbatim, except if it ends in .com , the .com is stripped. Subdomains are preserved. |
Slug =
<localPart>-<domainWithoutCom>
for users, or<domainWithoutCom>
for companies.
Why It Matters
- Defines primary user/company repository URLs: every identity maps directly to a workspace
- Avoids noise in URLs:
@
and.com
are removed where they add no meaning - Enables mentions and access control references with consistent canonical slugs
- Preserves uniqueness and supports direct reverse lookup
- Groups subdomains together in list views by parent company (optionally, in UI only)
Company Examples
Canonical domain | Mention | Repo URL |
---|---|---|
example.com | @example.com | /example |
uk.example.com | @uk.example.com | /uk.example |
example.co.uk | @example.co.uk | /example.co.uk |
User Examples
Mention | Repo URL | |
---|---|---|
alice@example.com | #alice@example.com | /alice-example |
alice.smith@uk.example.com | #alice.smith@uk.example.com | /alice.smith-uk.example |
dev_team@example.co.uk | #dev_team@example.co.uk | /dev_team-example.co.uk |
Repository Paths
User and company repositories host all content, and each has a URL based on the identity rules above. Sub-paths follow the same structure:
/alice-example/contracts
/uk.example/legal
/example.co.uk/public
These repository paths are used throughout SynergyOS: in sharing, search, file structure, mentions, and activity tracking.
Reversibility
To recover the canonical email or domain:
- Split at the first
-
to separate local part from domain. - Reattach
.com
if the domain ends in a second-level label (e.g.example
).
No full encode/decode function is needed in practice—internal systems store the canonical email/domain. The slug is only for routing and display.
FAQ
Why hide only .com
?
Because .com
adds no meaning in most cases. example.com
and uk.example.com
share organizational context. Other TLDs (like .org
, .tech
, .co.uk
) do matter and are preserved.
Could collisions occur?
No. Emails always contain exactly one @
, so replacing it with a single dash is unambiguous. Domains are preserved unless .com
is stripped at the end.
Does this affect login, identity, or SSO? Not at all. The canonical email or domain is stored and used internally. The slug is only for UI routing and human-friendly URLs.
Can we group subdomains in the UI?
Yes. While the URL stays flat (/uk.example
), the UI can visually group it under /example
or use nesting for hierarchy.