You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`dataToEncryptHash`| string | Yes | Hash of the encrypted data for verification |
162
+
|`accessControlConditions`| array | Yes | Conditions for decryption access |
163
+
|`decryptionCode`| string | Yes | Code or reference for decryption logic |
164
+
|`decryptionParams`| object | Yes | Dynamic parameters embedded in `decryptionCode`|
165
165
166
-
#### encryption
166
+
The `decryptionParams` object contains the dynamic values that are hardcoded into the `decryptionCode`. This enables UI display and content filtering without parsing the decryption code. See [Decryption Parameters Security](#decryption-parameters-security) for important security considerations.
|`lit-time-locked-v1`| Time-lock via Lit Protocol |`{ "unlockTimestamp": "1735689600" }`|
175
178
176
179
#### chunks
177
180
@@ -278,9 +281,25 @@ While the array is append-only at the application level, ERC725Y storage can tec
278
281
- Consider timestamps when multiple versions exist
279
282
- Be aware that "latest" mapping can be updated
280
283
281
-
### Token Gate Validation
284
+
### Decryption Parameters Security
285
+
286
+
The `decryptionParams` field exists for UI/querying purposes and MUST match the hardcoded values in `decryptionCode`. Applications SHOULD:
287
+
288
+
- Verify `decryptionParams` values match those embedded in `decryptionCode` when possible
289
+
- Display warnings to users if discrepancies are detected
290
+
- Never rely solely on `decryptionParams` for access control enforcement
291
+
- Treat `decryptionCode` as the authoritative source of truth
292
+
293
+
Actual access control MUST be enforced by the decryption mechanism (e.g., Lit Protocol access control conditions embedded in `decryptionCode`). Applications MUST NOT rely solely on the JSON `decryptionParams` field for security.
294
+
295
+
### Method Versioning
296
+
297
+
The `method` field includes a version suffix (e.g., `lit-lsp7-balance-v1`). When creating new encryption methods:
282
298
283
-
The `tokenGate` field in the JSON is for UI/querying purposes only. Actual access control MUST be enforced by the decryption mechanism (e.g., Lit Protocol access control conditions). Applications MUST NOT rely solely on the JSON `tokenGate` field for security.
299
+
- Use unique, descriptive method identifiers
300
+
- Include version suffix for future compatibility (e.g., `-v1`, `-v2`)
301
+
- Document required `decryptionParams` schema for each method
302
+
- Maintain backward compatibility when incrementing versions
0 commit comments