@orangecheck/legal 0.7.9 → 0.7.11

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/dist/index.js CHANGED
@@ -43,9 +43,9 @@ var LEGAL_SITES = {
43
43
  me: {
44
44
  slug: "me",
45
45
  profile: "me",
46
- host: "me.ochk.io",
47
- product: "me.ochk.io",
48
- productShort: "me.ochk.io",
46
+ host: "ochk.app",
47
+ product: "ochk.app",
48
+ productShort: "ochk.app",
49
49
  contact: CONTACT_GENERAL,
50
50
  securityContact: CONTACT_SECURITY,
51
51
  selfHosted: true
@@ -470,7 +470,7 @@ var privacyChanges = {
470
470
  };
471
471
 
472
472
  // src/content/protocol.ts
473
- var COMMERCIAL_SCOPE_NOTE = "These Terms govern the **non-custodial** OrangeCheck family: [ochk.io](https://ochk.io), the verb sites \u2014 OC Attest, OC Lock, OC Vote, OC Stamp, OC Agent, OC Pledge \u2014 and [docs.ochk.io](https://docs.ochk.io). The commercial products **me.ochk.io** and **vault.ochk.io** each publish their own Terms; these Terms do not govern your use of those products.";
473
+ var COMMERCIAL_SCOPE_NOTE = "These Terms govern the **non-custodial** OrangeCheck family: [ochk.io](https://ochk.io), the verb sites \u2014 OC Attest, OC Lock, OC Vote, OC Stamp, OC Agent, OC Pledge \u2014 and [docs.ochk.io](https://docs.ochk.io). The commercial products **ochk.app** and **vault.ochk.io** each publish their own Terms; these Terms do not govern your use of those products.";
474
474
  var terms = {
475
475
  kind: "terms",
476
476
  eyebrow: "terms",
@@ -479,7 +479,7 @@ var terms = {
479
479
  metaTitle: "Terms of Service \u2014 OrangeCheck",
480
480
  metaDescription: "The terms and conditions for using OrangeCheck. Non-custodial service provided as-is. You are responsible for your wallet and private keys.",
481
481
  effective: "2025-09-30",
482
- updated: "2026-10-08",
482
+ updated: "2026-10-19",
483
483
  preamble: [
484
484
  {
485
485
  kind: "callout",
@@ -607,7 +607,7 @@ var terms = {
607
607
  blocks: [
608
608
  {
609
609
  kind: "para",
610
- text: "The protocol sites and documentation are free to use. You are responsible for Bitcoin network fees on any transactions you initiate and for your own ISP and wallet-provider costs. Paid functionality, if introduced, will be announced with advance notice; the commercial products **me.ochk.io** and **vault.ochk.io** carry their own pricing and Terms."
610
+ text: "The protocol sites and documentation are free to use. You are responsible for Bitcoin network fees on any transactions you initiate and for your own ISP and wallet-provider costs. Paid functionality, if introduced, will be announced with advance notice; the commercial products **ochk.app** and **vault.ochk.io** carry their own pricing and Terms."
611
611
  }
612
612
  ]
613
613
  },
@@ -664,11 +664,11 @@ var privacy = {
664
664
  metaTitle: "Privacy Policy \u2014 OrangeCheck",
665
665
  metaDescription: "How OrangeCheck handles data and privacy. Non-custodial by design, minimal data collection, no account required, privacy-preserving analytics only.",
666
666
  effective: "2025-09-30",
667
- updated: "2026-10-09",
667
+ updated: "2026-10-19",
668
668
  preamble: [
669
669
  {
670
670
  kind: "callout",
671
- text: "This policy covers the **non-custodial** OrangeCheck family \u2014 [ochk.io](https://ochk.io), the six verb sites, and [docs.ochk.io](https://docs.ochk.io). The commercial products me.ochk.io and vault.ochk.io publish their own privacy policies covering the additional data their products handle."
671
+ text: "This policy covers the **non-custodial** OrangeCheck family \u2014 [ochk.io](https://ochk.io), the six verb sites, and [docs.ochk.io](https://docs.ochk.io). The commercial products ochk.app and vault.ochk.io publish their own privacy policies covering the additional data their products handle."
672
672
  }
673
673
  ],
674
674
  sections: [
@@ -827,7 +827,7 @@ var privacy = {
827
827
  },
828
828
  {
829
829
  k: "account, sign-in identities, passkeys and sign-in log",
830
- v: "kept until you ask us to delete them at [[PRIVACY_CONTACT]]; there is no automatic deletion yet"
830
+ v: "deleted when your account-deletion request completes; file one in your account settings, or ask at [[PRIVACY_CONTACT]]"
831
831
  },
832
832
  {
833
833
  k: "support emails",
@@ -867,21 +867,21 @@ var privacy = {
867
867
  var protocolProfile = { terms, privacy };
868
868
 
869
869
  // src/content/me.ts
870
- var COMMERCIAL_NOTE = "**me.ochk.io is a commercial product operated by OrangeCheck.** It is distinct from the non-custodial OrangeCheck protocol sites; the Terms at [ochk.io/terms](https://ochk.io/terms) do not govern me.ochk.io. These Terms do. The same Service is also served at ochk.app, in its own design, from the same accounts and records: these Terms govern it at either address, and \u201Cme.ochk.io\u201D in them means both.";
870
+ var COMMERCIAL_NOTE = "**ochk.app is a commercial product operated by OrangeCheck.** It is distinct from the non-custodial OrangeCheck protocol sites; the Terms at [ochk.io/terms](https://ochk.io/terms) do not govern ochk.app. These Terms do. Its API is served at me.ochk.io, from the same accounts and records: these Terms govern the Service at either address, and \u201Cochk.app\u201D in them means both.";
871
871
  var terms2 = {
872
872
  kind: "terms",
873
873
  eyebrow: "terms",
874
874
  title: "Terms of service",
875
- description: "The terms governing your use of me.ochk.io and ochk.app \u2014 a Bitcoin-backed identity that pays you in sats. OrangeCheck-custodied during bring-up, federation custody and self-custody graduation as the destination, no KYC.",
876
- metaTitle: "Terms of Service \u2014 me.ochk.io",
877
- metaDescription: "Terms of service for me.ochk.io: a Bitcoin-backed identity that pays users in sats. OrangeCheck custody during bring-up, federation custody and self-custody graduation as the destination, no KYC.",
875
+ description: "The terms governing your use of ochk.app and its API at me.ochk.io \u2014 a Bitcoin-backed identity that pays you in sats. OrangeCheck-custodied during bring-up, federation custody and self-custody graduation as the destination, no KYC.",
876
+ metaTitle: "Terms of Service \u2014 ochk.app",
877
+ metaDescription: "Terms of service for ochk.app: a Bitcoin-backed identity that pays users in sats. OrangeCheck custody during bring-up, federation custody and self-custody graduation as the destination, no KYC.",
878
878
  effective: "2026-05-15",
879
- updated: "2026-10-15",
879
+ updated: "2026-10-19",
880
880
  preamble: [
881
881
  {
882
882
  kind: "callout",
883
883
  emphatic: true,
884
- text: "By accessing or using me.ochk.io, you agree to be bound by these Terms. If you do not agree, do not use the Service. These Terms contain a binding-arbitration, class-action, and jury-trial waiver and important limitations on liability."
884
+ text: "By accessing or using ochk.app or its API at me.ochk.io, you agree to be bound by these Terms. If you do not agree, do not use the Service. These Terms contain a binding-arbitration, class-action, and jury-trial waiver and important limitations on liability."
885
885
  },
886
886
  { kind: "callout", text: COMMERCIAL_NOTE }
887
887
  ],
@@ -889,15 +889,15 @@ var terms2 = {
889
889
  {
890
890
  id: "overview",
891
891
  heading: "overview",
892
- hint: "what me.ochk.io is",
892
+ hint: "what ochk.app is",
893
893
  blocks: [
894
894
  {
895
895
  kind: "para",
896
- text: 'me.ochk.io is an identity you use to sign in across participating sites ("integrators"). When an integrator records a billable event for an action you authorize, a share of the fee flows back to you in sats. Your identity is anchored in Bitcoin, verifiable offline, and portable across the OrangeCheck family.'
896
+ text: 'ochk.app is an identity you use to sign in across participating sites ("integrators"). When an integrator records a billable event for an action you authorize, a share of the fee flows back to you in sats. Your identity is anchored in Bitcoin, verifiable offline, and portable across the OrangeCheck family.'
897
897
  },
898
898
  {
899
899
  kind: "para",
900
- text: "me.ochk.io is **not a bank, exchange, broker, or wallet provider.** It is an identity and reputation service with an attached cashback mechanism. **During bring-up OrangeCheck operates every role in that mechanism, including custody of the balance it pays you.** That is a stage, not the design \u2014 see the custody section below for what holds today and what replaces it."
900
+ text: "ochk.app is **not a bank, exchange, broker, or wallet provider.** It is an identity and reputation service with an attached cashback mechanism. **During bring-up OrangeCheck operates every role in that mechanism, including custody of the balance it pays you.** That is a stage, not the design \u2014 see the custody section below for what holds today and what replaces it."
901
901
  }
902
902
  ]
903
903
  },
@@ -924,7 +924,7 @@ var terms2 = {
924
924
  blocks: [
925
925
  {
926
926
  kind: "stub",
927
- text: "The economics of earning sats on me.ochk.io \u2014 how billable events generate cashback, the fee split between you, the integrating site, federation operators, and OrangeCheck, the timing of credits, and the conditions under which earnings may be withheld, delayed, clawed back, or reversed (including for suspected abuse or wash-trading) \u2014 are being finalized for publication before general availability. Until then, earning behavior is governed by the published abuse limits in the section below and the descriptions on [how it works](/how) and [the earn page](/earn). This section will be completed following review by counsel."
927
+ text: "The economics of earning sats on ochk.app \u2014 how billable events generate cashback, the fee split between you, the integrating site, federation operators, and OrangeCheck, the timing of credits, and the conditions under which earnings may be withheld, delayed, clawed back, or reversed (including for suspected abuse or wash-trading) \u2014 are being finalized for publication before general availability. Until then, earning behavior is governed by the published abuse limits in the section below and the descriptions on [how it works](/how) and [the earn page](/earn). This section will be completed following review by counsel."
928
928
  }
929
929
  ]
930
930
  },
@@ -959,7 +959,7 @@ var terms2 = {
959
959
  blocks: [
960
960
  {
961
961
  kind: "para",
962
- text: "me.ochk.io **does not perform Know-Your-Customer checks** and does not require your legal name, government ID, or physical address. Sybil resistance is achieved through protocol composition \u2014 BIP-322 sat-bond attestation, paid-action history, and integrator-defined gates \u2014 not identity verification. You must not use me.ochk.io to evade a KYC, AML, or sanctions obligation that applies to you elsewhere."
962
+ text: "ochk.app **does not perform Know-Your-Customer checks** and does not require your legal name, government ID, or physical address. Sybil resistance is achieved through protocol composition \u2014 BIP-322 sat-bond attestation, paid-action history, and integrator-defined gates \u2014 not identity verification. You must not use ochk.app to evade a KYC, AML, or sanctions obligation that applies to you elsewhere."
963
963
  }
964
964
  ]
965
965
  },
@@ -969,7 +969,7 @@ var terms2 = {
969
969
  blocks: [
970
970
  {
971
971
  kind: "para",
972
- text: "me.ochk.io publishes its abuse limits openly so legitimate users can see they are well below them. The canonical, current values are on the [security page](/security). Activity that exceeds a review threshold may be held for human review; activity assessed as sybil farming, wash-trading, or collusion between an integrator and a user may have earnings withheld or reversed and the identity suspended."
972
+ text: "ochk.app publishes its abuse limits openly so legitimate users can see they are well below them. The canonical, current values are on the [security page](/security). Activity that exceeds a review threshold may be held for human review; activity assessed as sybil farming, wash-trading, or collusion between an integrator and a user may have earnings withheld or reversed and the identity suspended."
973
973
  },
974
974
  {
975
975
  kind: "bullets",
@@ -989,7 +989,7 @@ var terms2 = {
989
989
  blocks: [
990
990
  {
991
991
  kind: "para",
992
- text: "Sites that integrate me.ochk.io receive a **per-integrator scoped identifier** for you, not your master identity \u2014 they cannot correlate you across sites unless you explicitly grant a scope. Integrators independently decide whether and how to trust your identity, including whether to admit, gate, or reject you. OrangeCheck is not a party to, and accepts no liability for, an integrator\u2019s decisions or an integrator\u2019s own terms, pricing, or conduct."
992
+ text: "Sites that integrate ochk.app through its API at me.ochk.io receive a **per-integrator scoped identifier** for you, not your master identity \u2014 they cannot correlate you across sites unless you explicitly grant a scope. Integrators independently decide whether and how to trust your identity, including whether to admit, gate, or reject you. OrangeCheck is not a party to, and accepts no liability for, an integrator\u2019s decisions or an integrator\u2019s own terms, pricing, or conduct."
993
993
  }
994
994
  ]
995
995
  },
@@ -1006,12 +1006,12 @@ var terms2 = {
1006
1006
  },
1007
1007
  {
1008
1008
  kind: "para",
1009
- text: "Nothing me.ochk.io provides is financial, investment, legal, or tax advice. me.ochk.io does not guarantee any level of earnings; cashback depends on integrator activity outside OrangeCheck\u2019s control."
1009
+ text: "Nothing ochk.app provides is financial, investment, legal, or tax advice. ochk.app does not guarantee any level of earnings; cashback depends on integrator activity outside OrangeCheck\u2019s control."
1010
1010
  },
1011
1011
  { kind: "subhead", text: "regulatory status" },
1012
1012
  {
1013
1013
  kind: "stub",
1014
- text: "me.ochk.io is designed so that cashback is custodied and disbursed by independent Fedimint federations. **Those federations do not exist yet. During bring-up OrangeCheck itself custodies and transmits the cashback it pays to every user**, because it is operating every role in the system in order to prove it works before third parties take any of them. Self-custody (BIP-322) users keep their own keys, which OrangeCheck never holds; the cashback they accrue is held by OrangeCheck until it is paid out, as it is for every user. The full regulatory analysis of both the bring-up posture and the designed end state \u2014 including OrangeCheck\u2019s position under the U.S. Bank Secrecy Act money-transmission rules, the FATF Recommendations, the EU MiCA Regulation, and applicable U.S. state money-transmitter regimes, and the corresponding licensing posture \u2014 is being prepared and will be published before general availability. This section will be completed following review by counsel."
1014
+ text: "ochk.app is designed so that cashback is custodied and disbursed by independent Fedimint federations. **Those federations do not exist yet. During bring-up OrangeCheck itself custodies and transmits the cashback it pays to every user**, because it is operating every role in the system in order to prove it works before third parties take any of them. Self-custody (BIP-322) users keep their own keys, which OrangeCheck never holds; the cashback they accrue is held by OrangeCheck until it is paid out, as it is for every user. The full regulatory analysis of both the bring-up posture and the designed end state \u2014 including OrangeCheck\u2019s position under the U.S. Bank Secrecy Act money-transmission rules, the FATF Recommendations, the EU MiCA Regulation, and applicable U.S. state money-transmitter regimes, and the corresponding licensing posture \u2014 is being prepared and will be published before general availability. This section will be completed following review by counsel."
1015
1015
  }
1016
1016
  ]
1017
1017
  },
@@ -1023,7 +1023,7 @@ var terms2 = {
1023
1023
  blocks: [
1024
1024
  {
1025
1025
  kind: "para",
1026
- text: "**Your right:** stop using me.ochk.io at any time; you may delete your identity in [your settings](/me/settings). **Our right:** suspend or terminate access with or without cause, including for abuse or legal risk. Deleting your identity does not settle a balance OrangeCheck owes you, and during bring-up there is no sweep to self-custody to run first \u2014 no federation is bound. If your balance is above zero, bind a payout destination and instruct a cash-out before you delete, or contact us. Hashes anchored to Bitcoin and commitments published to Nostr are immutable and cannot be deleted by OrangeCheck; neither names you. The disclaimer, liability, indemnification, governing-law, and dispute provisions survive."
1026
+ text: "**Your right:** stop using ochk.app at any time; you may delete your identity in [your settings](/me/settings). **Our right:** suspend or terminate access with or without cause, including for abuse or legal risk. Deleting your identity does not settle a balance OrangeCheck owes you, and during bring-up there is no sweep to self-custody to run first \u2014 no federation is bound. If your balance is above zero, bind a payout destination and instruct a cash-out before you delete, or contact us. Hashes anchored to Bitcoin and commitments published to Nostr are immutable and cannot be deleted by OrangeCheck; neither names you. The disclaimer, liability, indemnification, governing-law, and dispute provisions survive."
1027
1027
  }
1028
1028
  ]
1029
1029
  },
@@ -1037,15 +1037,15 @@ var privacy2 = {
1037
1037
  kind: "privacy",
1038
1038
  eyebrow: "privacy",
1039
1039
  title: "Privacy policy",
1040
- description: "How me.ochk.io and ochk.app handle your data: no KYC, no PII required, a per-integrator scoped identity, and a documented, falsifiable account of every record OrangeCheck stores.",
1041
- metaTitle: "Privacy Policy \u2014 me.ochk.io",
1042
- metaDescription: "me.ochk.io privacy policy. No KYC, no PII required, per-integrator scoped identity, and a full account of what OrangeCheck stores.",
1040
+ description: "How ochk.app and its API at me.ochk.io handle your data: no KYC, no PII required, a per-integrator scoped identity, and a documented, falsifiable account of every record OrangeCheck stores.",
1041
+ metaTitle: "Privacy Policy \u2014 ochk.app",
1042
+ metaDescription: "ochk.app privacy policy. No KYC, no PII required, per-integrator scoped identity, and a full account of what OrangeCheck stores.",
1043
1043
  effective: "2026-05-15",
1044
- updated: "2026-10-15",
1044
+ updated: "2026-10-19",
1045
1045
  preamble: [
1046
1046
  {
1047
1047
  kind: "callout",
1048
- text: "This policy covers the Service at both of its addresses, me.ochk.io and ochk.app: one account, one store of records, one operator; \u201Cme.ochk.io\u201D below means both. Its product is identity that pays you; its privacy posture is what makes it distinct from Sign in with Google. For a side-by-side comparison you can falsify, see [the privacy comparison](/privacy-compare)."
1048
+ text: "This policy covers the Service at both of its addresses, ochk.app and its API at me.ochk.io: one account, one store of records, one operator; \u201Cochk.app\u201D below means both. Its product is identity that pays you; its privacy posture is what makes it distinct from Sign in with Google. For a side-by-side comparison you can falsify, see [the privacy comparison](/privacy-compare)."
1049
1049
  }
1050
1050
  ],
1051
1051
  sections: [
@@ -1059,7 +1059,7 @@ var privacy2 = {
1059
1059
  items: [
1060
1060
  {
1061
1061
  k: "no kyc",
1062
- v: "me.ochk.io never collects your legal name, government ID, or physical address"
1062
+ v: "ochk.app never collects your legal name, government ID, or physical address"
1063
1063
  },
1064
1064
  {
1065
1065
  k: "little pii at signup",
@@ -1075,7 +1075,7 @@ var privacy2 = {
1075
1075
  },
1076
1076
  {
1077
1077
  k: "deletable",
1078
- v: "you can permanently revoke your identity in your settings"
1078
+ v: "you can delete your account in your settings: your data is erased and your sign-in closes"
1079
1079
  }
1080
1080
  ]
1081
1081
  }
@@ -1148,11 +1148,11 @@ var privacy2 = {
1148
1148
  blocks: [
1149
1149
  {
1150
1150
  kind: "para",
1151
- text: "On me.ochk.io, four cookies. `oc_session` \u2014 the Ed25519-signed session token issued by ochk.io (HttpOnly, Secure, SameSite=None, Domain=.ochk.io). `oc_theme`, `oc_skin` and `oc_motion` \u2014 your dark/light, appearance and reduced-motion preferences (Domain=.ochk.io), not auth-bearing. No tracking cookies, no advertising IDs, no third-party pixels. Page analytics use [Plausible](https://plausible.io/privacy) \u2014 cookie-free, no PII, aggregate only."
1151
+ text: "On ochk.app, two cookies of its own, set for ochk.app alone. `__Host-oc_session` \u2014 a sign-in token bound to ochk.app (HttpOnly, Secure, SameSite=Lax); it cannot sign you in anywhere else. `__Host-oc_oauth` \u2014 kept for at most ten minutes while you sign in with Google or GitHub, then deleted. Your light/dark choice stays in your browser\u2019s local storage, not a cookie. Page analytics use orangecheck\u2019s own counter at insights.ochk.io: no cookie; a visit is counted by a hash salted daily, the salt is deleted after 48 hours, and your IP address and browser string are never stored."
1152
1152
  },
1153
1153
  {
1154
1154
  kind: "para",
1155
- text: "On ochk.app, two cookies of its own, set for ochk.app alone. `__Host-oc_session` \u2014 a sign-in token bound to ochk.app (HttpOnly, Secure, SameSite=Lax); it cannot sign you in anywhere else. `__Host-oc_oauth` \u2014 kept for at most ten minutes while you sign in with Google or GitHub, then deleted. Your light/dark choice stays in your browser\u2019s local storage, not a cookie. Page analytics use orangecheck\u2019s own counter at insights.ochk.io: no cookie; a visit is counted by a hash salted daily, the salt is deleted after 48 hours, and your IP address and browser string are never stored."
1155
+ text: "On me.ochk.io, four cookies. `oc_session` \u2014 the Ed25519-signed session token issued by ochk.io (HttpOnly, Secure, SameSite=None, Domain=.ochk.io). `oc_theme`, `oc_skin` and `oc_motion` \u2014 your dark/light, appearance and reduced-motion preferences (Domain=.ochk.io), not auth-bearing. No tracking cookies, no advertising IDs, no third-party pixels. Page analytics use [Plausible](https://plausible.io/privacy) \u2014 cookie-free, no PII, aggregate only."
1156
1156
  }
1157
1157
  ]
1158
1158
  },
@@ -1192,7 +1192,7 @@ var privacy2 = {
1192
1192
  },
1193
1193
  {
1194
1194
  k: "account row",
1195
- v: "deleted on request via the account-deletion flow, subject to the immutability of anchored data"
1195
+ v: "deleted, with your sign-in identities, passkeys and sessions, when your account-deletion request completes; anchored and published data cannot be deleted by anyone"
1196
1196
  }
1197
1197
  ]
1198
1198
  }
@@ -1215,7 +1215,7 @@ var privacy2 = {
1215
1215
  blocks: [
1216
1216
  {
1217
1217
  kind: "para",
1218
- text: "In [your settings](/me/settings), under advanced, you can permanently revoke your OrangeCheck identity. Deleting does not pay out sats OrangeCheck owes you, and there is no sweep to self-custody to run first: no federation is bound during bring-up. Settle a non-zero balance before you delete. OrangeCheck deletes the operational records it holds about you; hashes already anchored to Bitcoin and commitments published to Nostr are immutable and cannot be deleted by anyone; neither names you."
1218
+ text: "In [your settings](/me/settings) you can delete your account. A person reviews the request within 48 hours. Completing it erases your data on ochk.io, me.ochk.io, vault, chat and cosign and closes your sign-in, so signing in again starts a new account. Payment receipts are kept for accounting under an id that no longer leads to you, and backups roll off within 30 days. Deleting does not pay out sats OrangeCheck holds for you: settle a non-zero balance first. Hashes anchored to Bitcoin and records published to Nostr cannot be deleted by anyone. me.ochk.io's own anchors name no one, but attestations, polls, pledges, stamps and a chat listing you published carry your Bitcoin address."
1219
1219
  }
1220
1220
  ]
1221
1221
  },