Labelers
Labelers are AT Protocol services that publish signed labels on accounts or records so other apps can consume them. In this ecosystem, they are used to score record quality, detect likely test data, and publish reusable quality signals. For the underlying protocol, see the official AT Protocol labels spec.
What labelers do here
The current labelers are quality-labeling services built on top of AT Protocol data.
- They ingest records from the network
- Evaluate them with project-specific criteria
- Publish signed labels through standard AT Protocol labeler endpoints
- Let other apps consume those labels as reusable quality signals
How these labelers are set up
Both labelers use a shared Tap-based ingestion pipeline:
AT Protocol Relay → Tap ingestion/backfill → Scoring or classification → Signed AT Protocol labels
In practice, this means:
- Tap ingests records from the AT Protocol network
- Tap backfills older records and keeps streaming new ones live
- Each labeler applies its own rubric to the ingested records
- Signed labels are published using the standard AT Protocol labeler interface
The shared ingestion layer is the same, but each labeler targets different record types and applies different criteria.
Hyperlabel
Production: hyperlabel-production.up.railway.app
Docs: hyperlabel-production.up.railway.app/docs
Hyperlabel scores the quality of hypercert activity records and publishes labels that help distinguish well-formed records from drafts, placeholders, or likely test data.
What it labels
Hyperlabel watches:
org.hypercerts.claim.activity
It ingests those records through Tap, evaluates them, and publishes signed labels based on their quality tier.
How it is set up
Hyperlabel uses Tap to discover repos, backfill historical activity records, and stream live updates. Once a record is ingested, the labeler scores it, stores the result for the dashboard, and publishes the matching AT Protocol label.
Criteria
Hyperlabel evaluates activity records across these main criteria:
- Title quality
- Summary quality
- Description quality
- Image present
- Work scope present
- Contributors present and detailed
- Locations present
- Date range present
- Rights present
It also applies penalties and test-detection heuristics for low-quality patterns such as placeholder text, repeated content, or obviously junk records. It also includes an asynchronous Hugging Face classification step that can downgrade non-meaningful content to a likely-test label.
Orglabeler
Production: orglabeler-production.up.railway.app
Docs: orglabeler-production.up.railway.app/docs
Orglabeler scores the quality of certified organization data and publishes labels that reflect how complete and credible an organization record looks.
What it labels
Orglabeler ingests both:
app.certified.actor.profileapp.certified.actor.organization
It merges these records by DID for context, then applies labels to the organization record URI.
How it is set up
Orglabeler uses Tap to ingest both profile and organization records, backfill older data, and stream new events. It merges profile and organization records by DID, uses that combined context during scoring, and then publishes a signed AT Protocol label on the organization record.
Criteria
Orglabeler evaluates organization quality using criteria such as:
- Display name
- Description
- Organization type
- Profile website present
- Profile website resolves
- Profile website matches name
- Organization URLs present
- Organization URLs resolve
- Location valid
- Founded date valid
- Founded date age bonus
- Avatar present
- Banner present
It also runs an authenticity gate before completeness scoring. Obvious junk, placeholder, or test-style values are forced into the likely-test tier even if other fields are present.