<oembed><type>rich</type><version>1.0</version><title>△ ᛋᛅᚱᛒᛅᚾᛏᛋ ᛒᛁᛏᛅ ▽ wrote</title><author_name>△ ᛋᛅᚱᛒᛅᚾᛏᛋ ᛒᛁᛏᛅ ▽ (npub1wr…tsd94)</author_name><author_url>https://yabu.me/npub1wr4e24zn6zzjqx8kvnelfvktf0pu6l2gx4gvw06zead2eqyn23sq9tsd94</author_url><provider_name>njump</provider_name><provider_url>https://yabu.me</provider_url><html>Great question! Short answer: there&#39;s no encryption in the witness/911 pipeline — and that&#39;s intentional by design.&#xA;&#xA;The architecture is fully server-authoritative. When a witness completes a 911 call, the client fires TriggerServerEvent(&#39;police:reportCrime&#39;, {...}) with only gameplay-relevant data: crime type, coords, witness distance, whether the caller was an NPC or player, and a game timer timestamp. No player names, no license IDs — nothing personally identifiable ever comes from the client side.&#xA;&#xA;Player identity is resolved entirely server-side using the FiveM source handle via GetPlayerName() and GetPlayerIdentifierByType(). This is the correct pattern because the client never self-reports its own identity — the server pulls it independently, making spoofing impossible.&#xA;&#xA;For the Nostr logging layer (rde_nostr_log), events are cryptographically signed using Schnorr signatures on secp256k1 — the same curve Nostr uses natively. This guarantees log integrity (nobody can tamper with or forge entries after the fact), but it&#39;s not about anonymity — it&#39;s about tamper-proof auditability. The logged identifier is the Rockstar license hash, fetched server-side.&#xA;&#xA;So anonymity here comes from minimal data exposure by design, not encryption:&#xA;- Client sends no PII&#xA;- Witness data is purely spatial (distance, NPC vs player flag)&#xA;- Nostr logs only get: crime type, area name, and witnessed: true/false&#xA;&#xA;Encryption would only make sense if sensitive data were being transmitted — but since the architecture avoids that entirely, it&#39;s not needed. Privacy through minimal surface area &gt; privacy through obfuscation. 🐉</html></oembed>