IdentityTrust identity.trust@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Version
1.0.0
Owner
network
Visibility
public
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/identity/trust.v1.json

identity.trust@1: privacy-limited age and abuse signals for an account or guest. Never includes an IP address, email, last-seen timestamp, service user id, or linked account identities. Only coarse age bands and aggregate counts are exposed.

Fields

This schema has no named fields.

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: account
{
  "kind": "account",
  "age_band": "30d_plus",
  "account_age_hours": 960,
  "account_age_days": 40,
  "passkey": true,
  "linked_accounts": 2,
  "active_30d": true,
  "email_verified": true,
  "verified": true,
  "verified_by": [
    "passkey",
    "linked_account",
    "30_days_active"
  ]
}
Valid: guest
{
  "kind": "guest",
  "age_band": "under_1d",
  "age_hours": 3,
  "age_days": 0,
  "networks_seen": 2,
  "guests_from_same_networks_24h": 4,
  "converted": false
}
Rejected: ip-exposed
{
  "kind": "guest",
  "age_band": "under_1d",
  "age_hours": 3,
  "age_days": 0,
  "networks_seen": 1,
  "guests_from_same_networks_24h": 0,
  "converted": false,
  "ip": "192.0.2.1"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('identity.trust@1', value);   // { valid, errors: [{ path, message }] }