signet-protocol 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -82,7 +82,7 @@ Layer 3: General-purpose ZK (future, if needed)
82
82
 
83
83
  **v1.0.0** — spec complete, TypeScript library implemented, reference apps functional. Seeking community feedback.
84
84
 
85
- **Kind 31000 is canonical.** The Signet protocol uses kind 31000 (NIP-VA, Verifiable Attestations) as the canonical kind for all identity attestations. This protocol does not seek upstream approval from nostr-protocol/nips. Signet maintains full control over kind selection.
85
+ All identity attestations use kind 31000 (NIP-VA, Verifiable Attestations), differentiated by `type` tag.
86
86
 
87
87
  ## Implementation
88
88
 
@@ -4,6 +4,11 @@ export interface ContactInfo {
4
4
  email?: string;
5
5
  address?: string;
6
6
  childPubkeys?: string[];
7
+ /** Additional personas — each is a pubkey with an optional label. */
8
+ personas?: Array<{
9
+ pubkey: string;
10
+ label?: string;
11
+ }>;
7
12
  }
8
13
  /** SECURITY NOTE: sharedSecret is stored as a plain hex string in memory.
9
14
  * For production use, secrets should be encrypted at rest (e.g. via OS keychain
@@ -1 +1 @@
1
- {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;sEAEsE;AACtE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,GAAG,QAAQ,CAAC;CACnC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAID;;yFAEyF;AACzF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAWxF;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAOhF;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAE7D;AAgCD;0EAC0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CA2BtD;AAID,yEAAyE;AACzE,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,GACnB,UAAU,CAUZ;AAID,sEAAsE;AACtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAsC;IAEzD,4FAA4F;IAC5F,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIjC,6CAA6C;IAC7C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3C,4BAA4B;IAC5B,IAAI,IAAI,UAAU,EAAE;IAIpB,0FAA0F;IAC1F,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/B,kEAAkE;IAClE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,8DAA8D;IAC9D,MAAM,IAAI,UAAU,EAAE;IAItB,iGAAiG;IACjG,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;CAmBxC"}
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED;;sEAEsE;AACtE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,GAAG,QAAQ,CAAC;CACnC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAID;;yFAEyF;AACzF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAWxF;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAOhF;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAE7D;AAsDD;0EAC0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CA2BtD;AAID,yEAAyE;AACzE,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,GACnB,UAAU,CAUZ;AAID,sEAAsE;AACtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAsC;IAEzD,4FAA4F;IAC5F,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIjC,6CAA6C;IAC7C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3C,4BAA4B;IAC5B,IAAI,IAAI,UAAU,EAAE;IAIpB,0FAA0F;IAC1F,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/B,kEAAkE;IAClE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,8DAA8D;IAC9D,MAAM,IAAI,UAAU,EAAE;IAItB,iGAAiG;IACjG,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;CAmBxC"}
@@ -43,6 +43,7 @@ export function serializeQRPayload(payload) {
43
43
  }
44
44
  const MAX_CONTACT_FIELD_LENGTH = 256;
45
45
  const MAX_CHILD_PUBKEYS = 20;
46
+ const MAX_PERSONAS = 20;
46
47
  /** Validate ContactInfo field sizes to prevent oversized payloads from untrusted sources. */
47
48
  function validateContactInfo(info) {
48
49
  if (typeof info !== 'object' || info === null) {
@@ -70,6 +71,29 @@ function validateContactInfo(info) {
70
71
  }
71
72
  }
72
73
  }
74
+ if (ci.personas !== undefined) {
75
+ if (!Array.isArray(ci.personas))
76
+ throw new SignetValidationError('Invalid ContactInfo: personas must be an array');
77
+ if (ci.personas.length > MAX_PERSONAS) {
78
+ throw new SignetValidationError(`Invalid ContactInfo: personas exceeds ${MAX_PERSONAS} entries`);
79
+ }
80
+ for (const entry of ci.personas) {
81
+ if (typeof entry !== 'object' || entry === null) {
82
+ throw new SignetValidationError('Invalid ContactInfo: each persona must be an object');
83
+ }
84
+ const e = entry;
85
+ if (typeof e.pubkey !== 'string' || !/^[0-9a-f]{64}$/i.test(e.pubkey)) {
86
+ throw new SignetValidationError('Invalid ContactInfo: persona pubkey must be a valid 64-char hex pubkey');
87
+ }
88
+ if (e.label !== undefined) {
89
+ if (typeof e.label !== 'string')
90
+ throw new SignetValidationError('Invalid ContactInfo: persona label must be a string');
91
+ if (e.label.length > MAX_CONTACT_FIELD_LENGTH) {
92
+ throw new SignetValidationError(`Invalid ContactInfo: persona label exceeds ${MAX_CONTACT_FIELD_LENGTH} characters`);
93
+ }
94
+ }
95
+ }
96
+ }
73
97
  }
74
98
  /** Parse and validate a QR payload from a JSON string.
75
99
  * Throws if the data is not valid JSON or is missing required fields. */
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import { ATTESTATION_KIND } from 'nostr-attestations';
2
2
  /**
3
3
  * Generic Verifiable Attestation kind (NIP-VA, kind 31000).
4
- * CANONICAL: This is the canonical kind for all Signet identity attestations
5
- * (credentials, vouches, verifier registration, challenges, revocations, identity bridges, delegation).
6
- * Signet maintains full control and does not seek upstream approval from nostr-protocol/nips.
7
- * Implementations MUST use 31000.
4
+ * Used for all Signet identity attestations (credentials, vouches, verifier registration,
5
+ * challenges, revocations, identity bridges, delegation).
8
6
  */
9
7
  export { ATTESTATION_KIND };
10
8
  /** NIP-78 App-specific Data kind (existing Nostr kind) */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,0DAA0D;AAC1D,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC,mCAAmC;AACnC,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAC;AAEX,qEAAqE;AACrE,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,kDAAkD;AAClD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,oDAAoD;AACpD,eAAO,MAAM,iCAAiC,QAAyB,CAAC;AAExE,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,sEAAsE;AACtE,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX,iEAAiE;AACjE,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,2BAA2B;AAC3B,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,yBAAyB;AACzB,eAAO,MAAM,YAAY,+LAUf,CAAC;AAEX,mDAAmD;AACnD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKzD,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUhD,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAE3D,kDAAkD;AAClD,eAAO,MAAM,wBAAwB,8CAA+C,CAAC;AAErF;sFACsF;AACtF,eAAO,MAAM,wBAAwB,EAAG,WAAoB,CAAC;AAE7D,uCAAuC;AACvC,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAC1D,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,+CAA+C;AAC/C,eAAO,MAAM,aAAa,4PAMhB,CAAC;AAEX,0CAA0C;AAC1C,eAAO,MAAM,eAAe,6GAMlB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;GAIG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,0DAA0D;AAC1D,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC,mCAAmC;AACnC,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAC;AAEX,qEAAqE;AACrE,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,kDAAkD;AAClD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,oDAAoD;AACpD,eAAO,MAAM,iCAAiC,QAAyB,CAAC;AAExE,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,sEAAsE;AACtE,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX,iEAAiE;AACjE,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,2BAA2B;AAC3B,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,yBAAyB;AACzB,eAAO,MAAM,YAAY,+LAUf,CAAC;AAEX,mDAAmD;AACnD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKzD,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUhD,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAE3D,kDAAkD;AAClD,eAAO,MAAM,wBAAwB,8CAA+C,CAAC;AAErF;sFACsF;AACtF,eAAO,MAAM,wBAAwB,EAAG,WAAoB,CAAC;AAE7D,uCAAuC;AACvC,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAC1D,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,+CAA+C;AAC/C,eAAO,MAAM,aAAa,4PAMhB,CAAC;AAEX,0CAA0C;AAC1C,eAAO,MAAM,eAAe,6GAMlB,CAAC"}
package/dist/constants.js CHANGED
@@ -2,10 +2,8 @@
2
2
  import { ATTESTATION_KIND } from 'nostr-attestations';
3
3
  /**
4
4
  * Generic Verifiable Attestation kind (NIP-VA, kind 31000).
5
- * CANONICAL: This is the canonical kind for all Signet identity attestations
6
- * (credentials, vouches, verifier registration, challenges, revocations, identity bridges, delegation).
7
- * Signet maintains full control and does not seek upstream approval from nostr-protocol/nips.
8
- * Implementations MUST use 31000.
5
+ * Used for all Signet identity attestations (credentials, vouches, verifier registration,
6
+ * challenges, revocations, identity bridges, delegation).
9
7
  */
10
8
  export { ATTESTATION_KIND };
11
9
  /** NIP-78 App-specific Data kind (existing Nostr kind) */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signet-protocol",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Decentralised identity verification protocol for Nostr",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,6 +14,8 @@ export interface ContactInfo {
14
14
  email?: string;
15
15
  address?: string;
16
16
  childPubkeys?: string[];
17
+ /** Additional personas — each is a pubkey with an optional label. */
18
+ personas?: Array<{ pubkey: string; label?: string }>;
17
19
  }
18
20
 
19
21
  /** SECURITY NOTE: sharedSecret is stored as a plain hex string in memory.
@@ -79,6 +81,7 @@ export function serializeQRPayload(payload: QRPayload): string {
79
81
 
80
82
  const MAX_CONTACT_FIELD_LENGTH = 256;
81
83
  const MAX_CHILD_PUBKEYS = 20;
84
+ const MAX_PERSONAS = 20;
82
85
 
83
86
  /** Validate ContactInfo field sizes to prevent oversized payloads from untrusted sources. */
84
87
  function validateContactInfo(info: unknown): void {
@@ -105,6 +108,27 @@ function validateContactInfo(info: unknown): void {
105
108
  }
106
109
  }
107
110
  }
111
+ if (ci.personas !== undefined) {
112
+ if (!Array.isArray(ci.personas)) throw new SignetValidationError('Invalid ContactInfo: personas must be an array');
113
+ if (ci.personas.length > MAX_PERSONAS) {
114
+ throw new SignetValidationError(`Invalid ContactInfo: personas exceeds ${MAX_PERSONAS} entries`);
115
+ }
116
+ for (const entry of ci.personas) {
117
+ if (typeof entry !== 'object' || entry === null) {
118
+ throw new SignetValidationError('Invalid ContactInfo: each persona must be an object');
119
+ }
120
+ const e = entry as Record<string, unknown>;
121
+ if (typeof e.pubkey !== 'string' || !/^[0-9a-f]{64}$/i.test(e.pubkey)) {
122
+ throw new SignetValidationError('Invalid ContactInfo: persona pubkey must be a valid 64-char hex pubkey');
123
+ }
124
+ if (e.label !== undefined) {
125
+ if (typeof e.label !== 'string') throw new SignetValidationError('Invalid ContactInfo: persona label must be a string');
126
+ if (e.label.length > MAX_CONTACT_FIELD_LENGTH) {
127
+ throw new SignetValidationError(`Invalid ContactInfo: persona label exceeds ${MAX_CONTACT_FIELD_LENGTH} characters`);
128
+ }
129
+ }
130
+ }
131
+ }
108
132
  }
109
133
 
110
134
  /** Parse and validate a QR payload from a JSON string.
package/src/constants.ts CHANGED
@@ -3,10 +3,8 @@ import { ATTESTATION_KIND } from 'nostr-attestations';
3
3
 
4
4
  /**
5
5
  * Generic Verifiable Attestation kind (NIP-VA, kind 31000).
6
- * CANONICAL: This is the canonical kind for all Signet identity attestations
7
- * (credentials, vouches, verifier registration, challenges, revocations, identity bridges, delegation).
8
- * Signet maintains full control and does not seek upstream approval from nostr-protocol/nips.
9
- * Implementations MUST use 31000.
6
+ * Used for all Signet identity attestations (credentials, vouches, verifier registration,
7
+ * challenges, revocations, identity bridges, delegation).
10
8
  */
11
9
  export { ATTESTATION_KIND };
12
10