LegacyIdentityMapEntry identity.legacy-identity-map@1
Generated at from
openvibe-contracts v0.33.0 and
openvibe-sdk v0.5.0.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Decision
- ADR-001
- Schema
https://openvibe.network/contracts/identity/legacy-identity-map.v1.json
One row of identity_legacy_map: links a service-local id to its canonical subject. Kept alongside legacy ids, never replacing them.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
subject_id | string | yes |
| |
source_system | string | yes | live, media, games, network, rs-companion, hobo, ... |
|
source_type | string | yes | user, anon_user, player, steam, ... |
|
source_id | string | yes |
| |
first_seen_at | string |
| ||
verified_at | string | null |
| ||
metadata | object |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: live-user
{
"subject_id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"source_system": "live",
"source_type": "user",
"source_id": "1234",
"first_seen_at": "2026-09-22T00:00:00Z",
"verified_at": null
}Rejected: missing-source
{
"subject_id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"source_system": "live",
"source_type": "user"
}Rejected: service-subject
{
"subject_id": "live",
"source_system": "live",
"source_type": "user",
"source_id": "1"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('identity.legacy-identity-map@1', value); // { valid, errors: [{ path, message }] }