Self zkID verification

PassAudited by ClawScan on May 10, 2026.

Overview

This is a coherent, instruction-only Self identity verification guide, but users should carefully configure dependencies, mock/test settings, and any identity data disclosures.

This skill appears safe as documentation for integrating Self. Before using it in production, pin and verify the Self packages, turn off mock passport/staging acceptance, secure the public verification endpoint, and request only the identity disclosures your app truly needs.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A production app could unintentionally accept test/mock identities if the setting is not changed.

Why it was flagged

The backend quick-start shows a verifier setting that accepts mock passports; it is labeled development-only, but identity verification would be weakened if copied into production.

Skill content
true,                              // true = accept mock passports (dev only)
Recommendation

Set mock/staging acceptance to false for production, use production endpoint types, and add tests or deployment checks that fail when mock passports are enabled.

What this means

Unexpected or compromised dependency versions could affect the user's application.

Why it was flagged

The guide directs users to install external packages; this is expected for the stated integration, but the example does not pin exact versions.

Skill content
npm install @selfxyz/qrcode @selfxyz/core
Recommendation

Install from official Self sources, pin versions with a lockfile, and review dependency and contract package provenance before production use.

What this means

Proofs and any configured disclosures may reach the developer's backend or contract endpoint.

Why it was flagged

The intended flow sends verification proofs from the Self app to a public endpoint; this is purpose-aligned, but it is a sensitive data boundary.

Skill content
Endpoint must be publicly accessible — Self app sends proof directly to your endpoint. Use ngrok for local development.
Recommendation

Use HTTPS, verify endpoint ownership, keep frontend/backend disclosure configs matched, minimize retained data, and be cautious when exposing local development servers with ngrok.

What this means

Users may otherwise assume that no personal identity attributes can ever be disclosed.

Why it was flagged

The documentation clearly lists optional personal-data disclosures, which users should read alongside the privacy-preserving/zero-knowledge framing.

Skill content
name: true,                              // disclose full name
    dateOfBirth: true,                       // disclose exact DOB
    idNumber: true,                          // disclose passport/ID number
Recommendation

Only request the minimum disclosures needed for the application and clearly explain to end users which attributes will be shared.