id.sifa.verification.employment

sifa.id

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Record issued by Sifa stating that it verified the subject's employment in a position. Only records authored by the issuer DID count. Deleting the record is a revocation; status and method changes update the same record. expiresAt is set only while a current position rests on email verification alone. The record carries method tokens only, never an email address or domain. Absence of a record is not a negative signal.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "description": "Client-declared timestamp when this record was created.",
            "format": "datetime",
            "type": "string"
          },
          "endedAt": {
            "description": "End date in YYYY-MM or YYYY-MM-DD format when status is past.",
            "maxLength": 10,
            "type": "string"
          },
          "entityRef": {
            "description": "Portable identifier (Wikidata Q-ID URI, ROR URI, or LEI URI) of the employing legal entity, when known.",
            "format": "uri",
            "type": "string"
          },
          "evidence": {
            "description": "Public records that back the verification, such as the organization's id.sifa.org.employmentAttestation. Never private evidence.",
            "items": {
              "ref": "id.sifa.defs#externalRecordRef",
              "type": "ref"
            },
            "maxLength": 20,
            "type": "array"
          },
          "expiresAt": {
            "description": "When this verification lapses unless renewed. Present only while a current position rests on email verification alone. Consumers treat a record past this time as lapsed.",
            "format": "datetime",
            "type": "string"
          },
          "methods": {
            "description": "Every method that currently backs this verification.",
            "items": {
              "ref": "id.sifa.defs#verificationMethod",
              "type": "ref"
            },
            "maxLength": 4,
            "minLength": 1,
            "type": "array"
          },
          "organization": {
            "description": "DID of the organization's account, when the organization is on the network.",
            "format": "did",
            "type": "string"
          },
          "position": {
            "description": "The subject's id.sifa.profile.position record. Resolve the AT-URI live; the CID is an integrity hint.",
            "ref": "id.sifa.defs#externalRecordRef",
            "type": "ref"
          },
          "startedAt": {
            "description": "Start date snapshot in YYYY-MM or YYYY-MM-DD format.",
            "maxLength": 10,
            "type": "string"
          },
          "status": {
            "description": "Whether the verified employment is current or past.",
            "ref": "id.sifa.defs#employmentStatus",
            "type": "ref"
          },
          "subject": {
            "description": "DID of the person whose employment was verified.",
            "format": "did",
            "type": "string"
          },
          "title": {
            "description": "Job title snapshot from the position at issue time. Consumers compare it with the live position to notice edits.",
            "maxGraphemes": 256,
            "maxLength": 2560,
            "minLength": 1,
            "type": "string"
          },
          "verifiedAt": {
            "description": "When the most recent backing verification was made.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "subject",
          "position",
          "status",
          "methods",
          "title",
          "startedAt",
          "verifiedAt",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "Sifa's own statement that it verified a person's employment. Written only by Sifa's published issuer account, about someone else, the way a trusted verifier writes app.bsky.graph.verification. Consumers trust the issuer DID, not the repository the record appears in: a copy of this record in any other repository carries no meaning.",
  "id": "id.sifa.verification.employment",
  "lexicon": 1
}

Validate Record

Validate a record against id.sifa.verification.employment

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2f2ahswozqy4v5lvu676375y
CID
bafyreihmjz6vol43tjk3uitbwcihe7z5vcivy67s6546brssdbbccsqr74
Indexed At
2026-09-30 20:06 UTC
AT-URI
at://did:plc:2f2ahswozqy4v5lvu676375y/com.atproto.lexicon.schema/id.sifa.verification.employment

Referenced Schemas (3)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • id.sifa.org.employmentAttestation recordnot from the namespace authority

    An organization's attestation that a person is or was employed by it. Lives in the organization's PDS; the organization is whoever owns the repository. The organization attests employment at the entity, not a job title.…

  • A work experience entry in the user's professional profile.

  • Identity verification status record — proves that a DID has been verified by a trusted verifier.

  • A professional certification or license held by the user.

Lexicon Garden

@