What dSSL Manager does
dSSL Manager is a Cosmos-native trust & verification layer. It lets any project publish an identity document (cosmos.toml), then prove that they control the subject (domain, repo, app, chain address, contract, etc). Verified records can be attested by third parties and evaluated via namespace policies to produce an on-chain trust level.
Core primitives
Minimum workflow
The shortest path from “nothing” → “verifiable identity”:
- Host cosmos.toml at /.well-known/cosmos.toml (and/or /cosmos.toml).
- Compute hash (ex: sha256:<hex>).
- Submit an on-chain record: subject + uri + hash.
- Prove ownership via: Adapter (on-chain registry), Signature (owner signs the hash), or Attestor (approved attestors confirm owner).
- Optional: collect attestations; resolve trust level per namespace policy.
Deployment notes
This site is content-first and intentionally avoids fragile JS stacks. If you later want live chain reads, you add a small REST query layer and render results.
Trust tiers (example)
Policies map a score → level. Names are arbitrary per namespace.
How verification works (end-to-end)
dSSL is built around a simple invariant: the chain stores an immutable pointer to a claimed identity document (URI + hash), then enforces one of several ownership proofs to bind that record to a controller.
Step 1 — Publish cosmos.toml
cosmos.toml is your project’s canonical identity + security metadata document. It can include keys, endpoints, contract addresses, repos, contacts, audits, and policy links.
Recommended locations: /.well-known/cosmos.toml then /cosmos.toml.
Step 2 — Create/Update a Record on-chain
A record binds a Subject to cosmos.toml URI + hash. Consumers can fetch the file and verify the hash matches the chain record.
Step 3 — Ownership proof (choose one)
Your contract supports multiple ownership proofs so the same system can work for domains, repos, contracts, and non-domain subjects.
Step 4 — Attestations + policy → trust level
Attestations add score signals. Policies define how score translates into levels. Consumers can show a badge (“Citadel”) and also the underlying evidence.
cosmos.toml schema (recommended)
Your contract is chain-agnostic and stores URI + hash. The schema is where you standardize what the file means. This is a practical schema designed for verifiers, browsers, explorers, and security tooling.
Sample cosmos.toml
Hashing rule (verifier)
Canonical approach: fetch bytes of the file → SHA-256 → represent as sha256:<hex>. That string is what gets signed (signature proof) and stored on-chain.
Where it should live
For a universal verifier tool, keep it predictable:
Why this matters
If every project follows the same resolution order, wallets and browsers can show “Verified” badges without bespoke integrations for each project.
Smart contract API (dSSL Manager)
The dSSL Manager contract you uploaded is built around: Subjects, Namespaces, Records, Ownership Proofs, Attestors, and Policies. Below is an accurate “developer-facing map” of the main message surface.
Execute messages (high-level)
Query messages (high-level)
Ownership proofs supported
Your contract supports three ownership proof paths:
Examples (what dSSL enables)
1) “Verified Project” badge in wallets + explorers
A wallet sees a token, checks its issuer contract, calls dSSL Verify, and displays a badge: “Citadel Verified” + evidence links (audit reports, keys, repo).
2) Domain → security profile + IPFS publishing
A domain hosts cosmos.toml. The chain stores the hash and validates ownership. Browser integration reads the file and shows a trust panel before loading the site.
3) Repo verification (GitHub / GitLab)
A repo commits cosmos.toml. The chain record points to raw content URL or IPFS. Ownership is proven via signature from the project key, plus attestations by auditors.
Simple trust scoring model (illustrative)
Integrations
Build once, reuse everywhere. A few “first-class” integration targets:
Browser integration (dSSL-aware browsing)
Before loading a site, browser fetches cosmos.toml, verifies hash against chain record, then shows: owner proof type, attestations, resolved tier, and warnings (revoked / expired).
CLI verifier tool
Explorer & wallet badges
Treat dSSL as a “security metadata oracle”: explorers show verified issuer + audits; wallets show warning banners on revoked subjects.
Roadmap (pragmatic)
What we build next on dssl.one
Once you want this site to become “the platform”, the next step is a read-only chain indexer to display:
- Search bar (subject → record + verification status)
- Namespace pages (policies, attestors, leaderboards)
- Attestor profiles (history, signed reports, boosts)
- Revocation registry (alerts feed)
FAQ
Does dSSL require domains?
No. The contract is built to support general “subjects” (domain, repo, contract, address, etc). Domains are just one namespace consumer.
How do we prevent fake claims?
You prevent claims via ownership proofs: adapter-based ownership, signature proofs over the chain-stored hash, or attestor-backed ownership with approved attestors.
What’s the best default file path?
/.well-known/cosmos.toml first, then /cosmos.toml. Verifiers should follow a fixed resolution order.