Lexicon Reference
Verak operates across two distinct lexicon namespaces. Understanding the difference matters both for interoperability and for the sovereignty guarantee.id.sifa.* is an open professional data standard that Verak implements. These schemas are not owned by Verak. Any AT Protocol application can read and write SIFA records, which is exactly the point. Your career history, education, and professional graph written via Verak are readable by any compliant app in the ecosystem.
is.verak.* is Verak’s own namespace. These schemas cover the portfolio presentation layer, link page configuration, network identity, and verification state. They are published and versioned by Verak. Third-party AT Protocol clients can read these records to render Verak profile data wherever a user’s DID appears.
All records in both namespaces are stored exclusively on the user’s Personal Data Server (PDS). Verak holds no copies.
The SIFA Standard (id.sifa.*)
The SIFA Standard is an open lexicon specification for portable professional identity on AT Protocol. Verak implements SIFA as the authoritative schema for all resume-grade career data. The primary account is always the SIFA write authority; secondary connected accounts contribute network reach and activity but do not maintain independent SIFA records.
The following documents the SIFA lexicons Verak currently reads and writes. For the canonical SIFA specification, refer to the SIFA Standard documentation.
id.sifa.profile
The base professional profile record. Extends app.bsky.actor.profile with structured career metadata.
Record key: singleton (one per account)Written by: Primary account only
Read by: Verak profile renderer, any SIFA-compliant app
Example record
id.sifa.position
A single employment or contract position. Multiple records build the career timeline.
Record key: tid (timestamp-based, ordered)Written by: Primary account
Read by: Verak career timeline, any SIFA-compliant app
Example record
id.sifa.education
A single education record. Covers formal degrees, diplomas, bootcamps, and self-directed programs.
Record key: tidWritten by: Primary account
Read by: Verak education section, any SIFA-compliant app
id.sifa.endorsement
A peer-to-peer signed skill endorsement. Written to the endorsing user’s own PDS, pointing at the subject’s DID. This is the fundamental trust mechanism: endorsements are not self-asserted and cannot be fabricated by the subject.
Record key: tidWritten by: The endorsing user (to their own PDS)
Read by: Verak trust display, endorsement aggregators
How Verak renders endorsements
Verak only surfaces endorsements from DIDs that carry a
verak-verified Ozone label. This prevents low-signal or bot endorsements from appearing as meaningful trust indicators. The endorsement record stays on the endorser’s PDS permanently. The subject has no ability to delete it, which is intentional: the endorsement belongs to the person who gave it.
Example record
id.sifa.graph.follow
A professional inner circle connection. Distinct from a standard Bluesky social follow (app.bsky.graph.follow). This represents a deliberate, curated professional relationship rather than a content subscription.
Record key: tidWritten by: The connecting user (to their own PDS)
Read by: Verak Orbits view, professional graph tools
Note on Verak’s implementation
Verak’s Orbits feature reads
id.sifa.graph.follow records across all connected accounts, deduplicates by DID, and merges into a unified professional network view. Connections are always written to the primary account’s PDS only, regardless of which account surface the connection was initiated from.
Verak Lexicons (is.verak.*)
These are Verak’s own schemas, owned and versioned by Verak. They cover the presentation and portfolio layer that sits above the SIFA data foundation. Third-party AT Protocol clients may read these records to render Verak profile data wherever a user’s DID appears.
is.verak.linkpage
The primary Verak profile configuration record. Holds link page content, article display preferences, multi-network account links, and publication connections. One record per account; updated in place.
Record key: singletonWritten by: Verak application (owner authenticated)
Read by: Verak profile renderer, cross-network discovery
Link object
linkedAccounts object
articles object
Important: The
linkedAccounts field is what powers the cross-network verification panel on public profiles. When an owner views their own profile, Verak syncs their connected accounts into this field, making their multi-network presence publicly discoverable without any central database. Profile visitors read this field directly from the PDS.
is.verak.portfolio.item
A high-fidelity project or work sample card. Extends SIFA position records with editorial-grade presentation metadata, media, and tech stack information.
Record key: tidWritten by: Verak application (Sovereign Pro feature)
Read by: Verak portfolio renderer, third-party AT Protocol clients
On blob storage
The
thumb field references a blob stored on the user’s own PDS via com.atproto.repo.uploadBlob. Verak holds only the cryptographic blob reference (CID), not the image data itself. The blob is served directly from the user’s PDS host, ensuring the user retains full ownership of their portfolio media.
Example record
is.verak.networks
Stores the connected social network handle records for cross-network identity display.
Record key: singletonWritten by: Verak settings (Profile Sync flow)
Read by: Verak cross-network verification panel, public profile
Account object
is.verak.embassy.theme
Stores the user’s visual configuration for their Digital Embassy display layer.
Record key: singletonWritten by: Verak appearance settings
Read by: Verak profile renderer
Note: Layout mode and colour overrides are Sovereign Pro features. Free accounts render in the default Verak editorial layout.
is.verak.endorsement (specified, not yet live)
This lexicon is specified and planned for a future release. It is not
currently written or read by the Verak application.
id.sifa.endorsement with richer metadata and Trust Gateway integration.
Reading Records via XRPC
Any AT Protocol client can read Verak lexicon records from a user’s PDS without authentication. The standard XRPC call is:service array in the response contains the PDS endpoint.
Blob Resolution
Portfolio images and other media assets are stored as blobs on the user’s PDS. To construct a blob URL from a record reference:blobUrl() helper in lib/atproto.js constructs this automatically from any blob ref, using the pdsHost stored alongside the record.
Versioning and Stability
Publishing a lexicon implies a stability commitment. Verak will not make breaking changes to a stable
is.verak.* schema without a major version increment and a minimum 90-day migration window. Additive fields (new optional properties) are non-breaking and may be added at any time.

