Open Publication Namespace Claims v0.1.0

Source: namespace-claims/index.md

Open Publication Namespace Claims v0.1.0

Status

Draft

Overview

Open Publication Namespace Claims v0.1.0 defines how a publisher can claim authority over a urn:pub: namespace in a distributed way while making mass-grabbing expensive and reversible.

The goal of this specification is to let any participant claim a namespace without requiring a global central registrar, while still giving agents and publication hosts a way to evaluate whether the claim is active, challenged, or abandoned.

This version specifies:

This version does not specify:

Terminology

The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" in this document are to be interpreted as described in BCP 14 when, and only when, they appear in all capitals.

Relationship to Other Specifications

This specification depends on Open Publication URNs for the definition of the urn:pub: namespace structure.

This specification is intended to complement Open Publication Protocol by defining who is authorized to publish under a namespace.

Concepts

Namespace

A namespace is the <namespace> segment of a family URN:

This specification governs authority over that namespace segment.

Claimant

A claimant is the actor attempting to activate or renew authority over a namespace.

Claim Proof

A claim proof is verifiable evidence that a claimant controls an external identity or resource that can anchor a namespace claim.

This version supports three proof classes:

Active Claim

An active claim is a namespace claim that is currently valid and may authorize publication under that namespace.

Unverified Claim

An unverified claim is a provisional namespace claim that has not yet presented strong external proof such as a verified domain or DID-backed proof.

Challenge

A challenge is a published objection asserting that a namespace claim is invalid, abandoned, or conflicting.

Claim Model

Each namespace claim MUST describe at least:

Optional fields MAY include:

Claim States

A claim MUST be in exactly one of the following states:

State meanings:

Distributed Claim Proofs

This specification allows any participant to claim a namespace if they can present a verifiable proof accepted by the observing host or registry.

DID Proof

A claimant MAY prove control of a DID, such as:

A DID proof SHOULD bind the namespace claim to a DID-controlled verification method or signed challenge.

Domain Proof

A claimant MAY prove control of a DNS domain by publishing a challenge record or a well-known hosted proof.

Domain proof is recommended when the namespace is derived from or obviously associated with a public internet identity.

Key Proof

A claimant MAY prove control of a public key by signing a claim challenge.

Key proof is the minimal decentralized proof model, but by itself it is the weakest defense against namespace squatting unless paired with additional claim friction.

Namespace Activation Rules

Proof strength ordering for this version is:

An implementation MAY refine this ordering, but it MUST do so transparently and consistently.

Anti-Hoarding Rules

This specification requires publication systems to impose friction on namespace claims that lack strong external proof.

Strongly Verified Claims

Claims backed by domain proof or an equivalent externally anchored did proof:

Unverified or Weakly Verified Claims

Claims backed only by a bare key proof or an equivalent weak proof:

Recommended baseline limits for weak claims:

These values are informative defaults. Implementations MAY choose different thresholds if they preserve comparable anti-hoarding pressure.

Challenge and Reclaim

Renewal and Activity

Minimal Published Claim Record

An observing registry or publication host that publishes claim information SHOULD expose, at minimum, the following fields for each claim:

Additional fields MAY include:

Example Claim Record

{
  "namespace": "ilowe",
  "claim_id": "claim-01JXYZ123ABC",
  "claimant": "did:web:ilowe.me",
  "proof_type": "did",
  "proof": "https://ilowe.me/.well-known/did.json",
  "status": "active",
  "claimed_at": "2026-03-23T21:10:00Z",
  "expires_at": "2027-03-23T21:10:00Z"
}

Security Considerations

Open Questions