Integrator Configuration Guide

This guide explains how to model your platform in identity.app so your events become meaningful trust signals. It is written for people who are new to this system: first we cover concepts, then we cover how to configure each field.

Start hereConcepts firstExamples includedField reference below
What this configuration does

As an integrator, you send events (example: completed job, dispute opened, spam report). Configuration is where you define how those events become trust signals.

  • which signals exist,
  • whether they are positive, negative, or neutral,
  • how much each signal should matter,
  • what anti-gaming guardrails should apply.

Concepts at a glance

Integrator

Your product or platform.

Example: a marketplace app

Environment

A category of behavior inside your platform.

Example: payments, moderation, reliability

Metric

A single signal you emit in events.

Example: buyer confirms delivery and leaves a positive rating

Policy rule

A control to limit abuse or runaway scoring.

Example: count only the first 3 repeated actions in a 24h window

How configuration flows in practice

1

Pick your trust dimensions

Create 1-3 environments that map to how trust works in your product.

2

Define clear metrics

Add a small set of metrics in each environment. Start focused, not exhaustive.

3

Set local scoring behavior

Decide whether each metric is good, bad, or neutral for your platform, then assign conservative local weights.

4

Choose global reputation impact

For each metric, decide whether it should stay local or affect global identity.app reputation, since this can influence whether users choose to interact with your platform.

5

Apply policy rules

Add anti-gaming controls so repeated or coordinated behavior cannot dominate reputation.

6

Ship and iterate by version

Deploy, monitor outcomes, then publish a new version when you need to adjust scoring logic.

Worked example (marketplace)

Environment: transactions
  • job_completed - positive signal that a task was finished.
  • payment_dispute - negative signal that trust may be at risk.
  • late_delivery - negative signal with moderate weight.
Policy example
Apply max_env_contribution so this one environment cannot dominate total reputation by itself.

Field reference

Environment fields
FieldRequiredMeaningExampleLimits
namespaceYesStable identifier in snake_casepayments/^[a-z][a-z0-9_]{0,63}$/
descriptionNoHuman-readable context for operatorsPayment behavior and disputesKeep concise and specific
aggregationWeightYesHow strong this environment is overall1.00.1..5.0
Metric fields
FieldRequiredMeaningExampleLimits
metricKeyYesMachine identifier for the signaljob_completedUnique in environment
labelYesUI labelJobs completedClear and short
laneYesTrust lane this metric contributes toconductorigin | presence | conduct
valueTypeYesExpected value payload typenumbernumber | boolean | enum
polarityYesWhether higher contribution is good or badpositivepositive | negative | neutral
aggregationYesHow metric values combine over timesumsum | avg | count | rate
global reputation impactNoWhether this metric also affects global identity.app reputationNone or transaction_completedNone = local only
defaultWeightYesMetric-level strength1.00.1..10.0

Policy rules quick reference

Pairwise diminishing

Use when the same two actors can generate many repeated events. Repeated interactions get progressively less influence.

Use case: prevent score farming between two colluding accounts.

Max contribution

Use when one environment should not be able to dominate the entire trust profile.

Use case: cap the maximum influence of one area like payments or moderation.

Severity multiplier

Use when the same metric can arrive with low/medium/high severity and should scale differently by severity.

Use case: severe violations count much more than minor incidents.

Current limit: 1-3 policy rules per environment, with only one instance per rule type.

AI pre-generation vs manual setup

Pre-generate with AI
Best when you need a fast first draft. You can edit every field before saving.
Configure manually
Best when you already know your taxonomy or need strict control from day one.

For integrators that already have environments, AI pre-generation creates one new environment draft at a time.

Versioning and rollout strategy

Environment IDs follow <slug>.<namespace>.v<n>.

  • Upgrading creates a new version (for example v1 to v2) and marks the previous one deprecated.
  • Ingest accepts active and deprecated versions to support safe rollout.
  • Recommended rollout: publish new version, update callers, monitor, then decommission old versions when ready.

Ingest identity conventions

Keep actor/subject identity formatting consistent before rollout so ingest validation and analytics stay predictable.

  • If actorType is agent, set actorId to a valid DID.
  • If actorType is system, use sys:<integratorSlug>:<component>. Short form sys:<integratorSlug> is accepted and normalized to :main.
  • For agent-subject events, consent remains deny-by-default and consent grants require an existing agent profile for that DID.

Before you hit save

Quick checklist
  • Namespace format is valid and unique in form.
  • At least one metric exists.
  • Metric keys are unique and labels are non-empty.
  • Weights are inside allowed ranges.
  • Policy keys and numeric values are valid.
Common mistakes
  • Too many metrics before you validate signal quality.
  • Ambiguous keys like score or rank.
  • High default weights without observed production behavior.
  • No policy rules for high-volume interactions.

Related docs