بنقرة واحدة
client-ids
Privacy-protected ID management with @ledgerhq/client-ids — DeviceId, UserId, DatadogId, export-rules.json
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Privacy-protected ID management with @ledgerhq/client-ids — DeviceId, UserId, DatadogId, export-rules.json
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Enforce import boundaries inside the devtools scope. Use for any work in "devtools/**".
Official Ledger wallet-cli - USB-based CLI for Ledger hardware wallet flows (account discover, receive, balances, operations, send, swap quote/execute/status, genuine-check, assets token / token-by-id). Use for any wallet-cli command execution and for mapping informal requests to the right command.
Handle batches of Jira tickets through shared analysis, per-ticket feature-dev, Lumen UI guardrails, changesets, and draft PRs. Use when the user provides multiple Jira tickets or asks to deliver tickets one by one with PRs.
Trigger the on-demand production build workflows on LedgerHQ/ledger-live-build (Desktop, Android APK, iOS) for a ledger-live branch, then post a PR comment. Use when asked to "run builds", "produce a build", "build the app(s)", or "make an APK/iOS/desktop build" for a PR/branch.
Guided feature development with codebase understanding and architecture focus
Rules and layout for coin module packages under libs/coin-modules/. Read when adding or modifying a coin module.
| name | client-ids |
| description | Privacy-protected ID management with @ledgerhq/client-ids — DeviceId, UserId, DatadogId, export-rules.json |
@ledgerhq/client-ids)@ledgerhq/client-idsSensitive identifiers (DeviceId, UserId, DatadogId) must always use the @ledgerhq/client-ids library:
DeviceId, UserId, or DatadogId classes from @ledgerhq/client-ids/ids.exportUserIdForSomething()).libs/client-ids/export-rules.json with a justification.toString() and toJSON() return [DeviceId:REDACTED] by default — this is by design.The client-ids library provides unified, privacy-protected ID management for Ledger Live. It isolates sensitive identifiers (DeviceId, UserId, DatadogId) and prevents accidental exposure through logging or serialization.
DeviceId, UserId, or DatadogId classes from @ledgerhq/client-ids/idstoString() and toJSON() return [DeviceId:REDACTED] by defaultexportUserIdForSomethingSomething())export-rules.json file serves as a registry of all allowed use cases, ensuring each ID export is intentional and justifiedcheck-export-rules.mjs script enforces that all ID exports match declared use cases at build timeTwo scenarios:
1. Using an existing ID for a new use case:
exportUserIdForSomethingSomething())libs/client-ids/export-rules.json allowlist:
{
"libs/client-ids/src/ids/UserId.ts": {
"exportUserIdForSomethingSomething": [
"your/new/file/path.ts" // Add here
]
}
}
2. Introducing a new kind of ID:
libs/client-ids/src/ids/ (e.g., NewId.ts)DeviceId.ts: Symbol storage, redacted toString/toJSON, export methodsexport-rules.jsonimport { DeviceId } from "@ledgerhq/client-ids/ids";
// ✅ Correct: Use the library
const deviceId = DeviceId.fromString("device-123");
// ❌ Wrong: Don't use raw strings
const deviceId = "device-123"; // BAD