myc

Self-custodial remote signer for Radroots apps
git clone https://radroots.dev/git/myc.git
Log | Files | Refs | README | LICENSE

nip46_replay.v1.json (2301B)


      1 {
      2   "schema": "radroots.myc.nip46-replay.v1",
      3   "contract_version": 1,
      4   "prerequisite": "nip46_verification.v1",
      5   "connection_identity": {
      6     "domain": "radroots.myc.nip46.connection_identity.v1\\0",
      7     "preimage": "domain_then_u64_be_receiver_public_key_byte_length_and_exact_lowercase_ascii_receiver_then_u64_be_client_public_key_byte_length_and_exact_lowercase_ascii_client",
      8     "digest": "sha256",
      9     "stability": "same_configured_transport_receiver_and_verified_client_identity_same_connection_identity"
     10   },
     11   "request_identity": {
     12     "domain": "radroots.myc.nip46.request_identity.v1\\0",
     13     "preimage": "domain_then_u64_be_client_public_key_byte_length_and_exact_lowercase_ascii_public_key_then_u64_be_request_id_byte_length_and_exact_request_id",
     14     "digest": "sha256",
     15     "scope": "catalog_local_verified_client_transport_identity_and_validated_request_id_compared_only_with_matching_connection_identity"
     16   },
     17   "request_digest": {
     18     "domain": "radroots.myc.nip46.request.v1\\0",
     19     "preimage": "domain_then_u64_be_canonical_typed_request_byte_length_then_exact_canonical_typed_request_bytes",
     20     "digest": "sha256",
     21     "plaintext_retention": "private_sealed_capability_only"
     22   },
     23   "retained_replay_key": "copyable_redacted_event_connection_request_and_content_digests_only_no_event_ciphertext_or_plaintext",
     24   "classification_precedence": [
     25     "same_event_connection_request_identity_and_digest_is_duplicate_event",
     26     "same_event_with_other_request_identity_or_digest_is_conflicting_event_reuse",
     27     "distinct_event_and_same_connection_request_identity_and_digest_is_exact_request_replay",
     28     "distinct_event_and_same_connection_request_identity_with_other_digest_is_conflicting_request_reuse",
     29     "distinct_connection_or_request_identity_is_distinct_request"
     30   ],
     31   "durable_authority": {
     32     "owner": "existing_myc_state_repository_dual_request_and_event_dedup",
     33     "operation_identity": "first_durable_admission_uses_injected_entropy_and_exact_replay_returns_original_operation_and_correlation",
     34     "new_replay_store": "forbidden"
     35   },
     36   "nonclaims": [
     37     "ciphertext_decryption",
     38     "plaintext_event_cryptographic_binding",
     39     "supported_method_admission",
     40     "authorization",
     41     "provider_execution",
     42     "database_mutation",
     43     "relay_publication"
     44   ]
     45 }