[{"data":1,"prerenderedAt":932},["ShallowReactive",2],{"post-\u002Fposts\u002Fnostr-relays-privacy-and-security":3,"post-author-garywoodfine":553,"post-aside-video-none":6,"\u002Fposts\u002Fnostr-relays-privacy-and-security-surround":562,"navigation":572,"content-section-services":620,"content-section-products":623,"content-section-company":626,"legal-link":628,"authors":644,"author-garywoodfine":673,"post-aside-related-candidates":674},{"id":4,"title":5,"aside":6,"author":7,"body":8,"category":525,"date":526,"description":527,"extension":528,"featureImage":529,"meta":531,"navigation":533,"path":534,"seo":535,"sitemap":536,"slug":6,"stem":543,"subtitle":544,"summary":545,"tags":546,"updated":6,"video":6,"__hash__":552},"posts\u002Fposts\u002Fnostr-relays-privacy-and-security.md","Nostr Relays, Privacy, and Security",null,"garywoodfine",{"type":9,"value":10,"toc":502},"minimark",[11,15,28,31,39,42,47,50,53,60,68,71,92,96,99,119,122,126,129,140,143,146,163,166,170,173,176,179,182,186,189,203,206,209,212,216,222,245,248,251,254,258,268,271,274,277,281,291,294,297,308,311,315,320,326,330,333,337,340,344,347,351,354,377,381,387,390,393,407,410,414,417,420,423,437,441],[12,13,14],"p",{},"A lot of people arrive on Nostr with a simple mental model:",[16,17,18,22,25],"ul",{},[19,20,21],"li",{},"decentralised means private",[19,23,24],{},"relays are neutral pipes",[19,26,27],{},"if there is no central platform, the risk mostly disappears",[12,29,30],{},"That is too simplistic.",[12,32,33,34,38],{},"Nostr's architecture is a real improvement over centralised social platforms in many ways, but it does ",[35,36,37],"strong",{},"not"," remove privacy and security trade-offs. It just moves them around.",[12,40,41],{},"If you use Nostr seriously, you need to understand what relays can see, what they cannot do, and where the real risks still live.",[43,44,46],"h2",{"id":45},"first-a-relay-is-not-your-key-store","First: a relay is not your key store",[12,48,49],{},"This is the good news.",[12,51,52],{},"A relay is not supposed to hold your private key. If you are using a proper signer, wallet, or secure key manager, your private key stays on your device or in your secure key environment.",[12,54,55,56,59],{},"That is the entire point of tools like ",[35,57,58],{},"NIP-07 signers",".",[12,61,62,63,67],{},"So a relay is not the same kind of risk as pasting your ",[64,65,66],"code",{},"nsec"," into random websites.",[12,69,70],{},"If you need that background first, read:",[16,72,73,80,86],{},[19,74,75],{},[76,77,79],"a",{"href":78},"\u002Fposts\u002Fwhat-is-a-nip-07-signer","What is a NIP-07 Signer?",[19,81,82],{},[76,83,85],{"href":84},"\u002Fposts\u002Fhow-to-manage-keys-for-nostr","How to Manage Keys for Nostr",[19,87,88],{},[76,89,91],{"href":90},"\u002Fposts\u002Fhow-to-get-started-with-porwr","Getting Started with Porwr",[43,93,95],{"id":94},"what-a-relay-can-usually-see","What a relay can usually see",[12,97,98],{},"A relay operator may be able to observe at least some of the following:",[16,100,101,104,107,110,113,116],{},[19,102,103],{},"the IP address connecting to the relay",[19,105,106],{},"when a client connects and disconnects",[19,108,109],{},"what public events are published to that relay",[19,111,112],{},"what subscriptions or filters a client requests",[19,114,115],{},"what accounts, event ids, or tags appear in those requests",[19,117,118],{},"timing patterns that may reveal usage habits",[12,120,121],{},"That does not mean every relay operator is hostile. It means the infrastructure can observe metadata, and users should be honest about that.",[43,123,125],{"id":124},"what-a-relay-usually-cannot-do-on-its-own","What a relay usually cannot do on its own",[12,127,128],{},"If your key is managed correctly, a relay should not be able to:",[16,130,131,134,137],{},[19,132,133],{},"sign events as you",[19,135,136],{},"recover your private key from public events",[19,138,139],{},"directly impersonate you without some separate compromise",[12,141,142],{},"That distinction matters.",[12,144,145],{},"Relay risk is often more about:",[16,147,148,151,154,157,160],{},[19,149,150],{},"metadata exposure",[19,152,153],{},"censorship or filtering",[19,155,156],{},"availability",[19,158,159],{},"spam and junk data quality",[19,161,162],{},"poor operational behaviour",[12,164,165],{},"than about direct key theft.",[43,167,169],{"id":168},"public-events-are-still-public","Public events are still public",[12,171,172],{},"This should be obvious, but it gets blurred in decentralised conversations.",[12,174,175],{},"If you publish a public event to public relays, then the content is public. Spreading it across independent infrastructure does not make it private.",[12,177,178],{},"Nostr can improve censorship resistance and portability, but that is not the same as private-by-default communication.",[12,180,181],{},"So a practical privacy mindset starts with not lying to yourself about what you are publishing.",[43,183,185],{"id":184},"relay-diversity-helps-but-it-is-not-a-privacy-silver-bullet","Relay diversity helps, but it is not a privacy silver bullet",[12,187,188],{},"Using multiple relays is usually better than relying on one. It helps with:",[16,190,191,194,197,200],{},[19,192,193],{},"resilience",[19,195,196],{},"reach",[19,198,199],{},"reducing dependence on a single operator",[19,201,202],{},"reducing the blast radius of one bad relay",[12,204,205],{},"But it does not eliminate observation.",[12,207,208],{},"If you publish the same public event to several relays, you have increased distribution and resilience, not secrecy.",[12,210,211],{},"So relay diversity is mostly about availability and robustness first, and privacy posture second.",[43,213,215],{"id":214},"relay-metadata-helps-but-should-not-be-trusted-blindly","Relay metadata helps, but should not be trusted blindly",[12,217,218,221],{},[35,219,220],{},"NIP-11"," defines the Relay Information Document. Relays may expose information such as:",[16,223,224,227,230,233,236,239,242],{},[19,225,226],{},"name",[19,228,229],{},"description",[19,231,232],{},"contact details",[19,234,235],{},"supported NIPs",[19,237,238],{},"software",[19,240,241],{},"version",[19,243,244],{},"terms of service",[12,246,247],{},"That is useful. It gives clients and users more context.",[12,249,250],{},"But it is still self-reported metadata. It helps with decision-making, not certainty.",[12,252,253],{},"A client should use relay metadata intelligently, not treat it as proof of quality or integrity.",[43,255,257],{"id":256},"search-capable-relays-may-expose-more-about-how-you-query","Search-capable relays may expose more about how you query",[12,259,260,263,264,267],{},[35,261,262],{},"NIP-50"," defines a search capability where clients can send a human-readable ",[64,265,266],{},"search"," filter to a relay.",[12,269,270],{},"That is useful for discovery and retrieval, but it also means the relay may learn more about what you are actively looking for.",[12,272,273],{},"Again, this is not automatically bad. It is just part of the privacy trade-off.",[12,275,276],{},"The more powerful the relay feature set, the more important it is to be honest about what information your client is sending upstream.",[43,278,280],{"id":279},"read-relays-and-write-relays-are-a-useful-security-boundary","Read relays and write relays are a useful security boundary",[12,282,283,286,287,290],{},[35,284,285],{},"NIP-65"," defines relay list metadata through kind ",[64,288,289],{},"10002",", allowing users to advertise relays for reading and writing.",[12,292,293],{},"That distinction is useful because not every relay needs the same level of trust for every role.",[12,295,296],{},"For example:",[16,298,299,302,305],{},[19,300,301],{},"a relay you rely on for publishing your own events should be dependable",[19,303,304],{},"a relay you use for mentions or discovery should be relevant and useful",[19,306,307],{},"a relay you only test against should probably not become a permanent default",[12,309,310],{},"That mindset helps keep relay setup intentional rather than chaotic.",[43,312,314],{"id":313},"the-biggest-privacy-and-security-mistakes-people-make","The biggest privacy and security mistakes people make",[316,317,319],"h3",{"id":318},"_1-confusing-decentralisation-with-anonymity","1. Confusing decentralisation with anonymity",[12,321,322,323,325],{},"Nostr is decentralised. That does ",[35,324,37],{}," automatically mean anonymous.",[316,327,329],{"id":328},"_2-publishing-through-random-relays-without-thinking","2. Publishing through random relays without thinking",[12,331,332],{},"If you add every relay you find, you increase noise and potentially increase metadata spread to operators you have never evaluated.",[316,334,336],{"id":335},"_3-ignoring-key-hygiene-because-the-protocol-feels-safer-than-web2","3. Ignoring key hygiene because the protocol feels safer than Web2",[12,338,339],{},"Nostr removes some central points of failure, but bad key handling still destroys you.",[316,341,343],{"id":342},"_4-treating-all-relays-as-equal","4. Treating all relays as equal",[12,345,346],{},"They are not equal in quality, policy, feature support, or operator trust.",[43,348,350],{"id":349},"a-safer-practical-approach-to-relay-usage","A safer practical approach to relay usage",[12,352,353],{},"If you want a more disciplined setup, do this:",[16,355,356,359,362,365,368,371,374],{},[19,357,358],{},"use a proper signer instead of pasting private keys into sites",[19,360,361],{},"keep your relay list small and intentional",[19,363,364],{},"prefer relays with useful metadata and a clear purpose",[19,366,367],{},"do not rely on one relay alone",[19,369,370],{},"avoid stuffing your setup with random dead or junk relays",[19,372,373],{},"treat public content as public",[19,375,376],{},"separate identities when your use cases genuinely differ",[43,378,380],{"id":379},"where-porwr-fits-into-this","Where Porwr fits into this",[12,382,383,386],{},[35,384,385],{},"Porwr by Diogel"," helps on the key side of the equation. It keeps the private key in the extension and handles signing without handing your key to the website.",[12,388,389],{},"That is a real security improvement.",[12,391,392],{},"But signer security does not make relay choices irrelevant. You still need a sensible relay setup if you want:",[16,394,395,398,401,404],{},[19,396,397],{},"a cleaner reading experience",[19,399,400],{},"better publishing reliability",[19,402,403],{},"fewer junk relays in your workflow",[19,405,406],{},"a more honest privacy posture",[12,408,409],{},"That is why relay management inside signer and client tooling matters. It directly shapes the security and privacy quality of the user experience.",[43,411,413],{"id":412},"conclusion","Conclusion",[12,415,416],{},"Nostr relays improve decentralisation, resilience, and user control. But they do not remove the need to think.",[12,418,419],{},"A relay can still observe metadata. A bad relay can still degrade your experience. A noisy relay list can still create confusion and risk. And none of that is fixed by pretending decentralised systems are magically private.",[12,421,422],{},"The practical answer is simple:",[16,424,425,428,431,434],{},[19,426,427],{},"protect your keys properly",[19,429,430],{},"choose relays deliberately",[19,432,433],{},"understand what public really means",[19,435,436],{},"use better defaults instead of random ones",[43,438,440],{"id":439},"references","References",[16,442,443,451,458,465,472,478,484,490,494,498],{},[19,444,445],{},[76,446,450],{"href":447,"rel":448},"https:\u002F\u002Fgithub.com\u002Fnostr-protocol\u002Fnips\u002Fblob\u002Fmaster\u002F01.md",[449],"nofollow","NIP-01: Basic protocol flow and event model",[19,452,453],{},[76,454,457],{"href":455,"rel":456},"https:\u002F\u002Fnips.nostr.com\u002F11",[449],"NIP-11: Relay Information Document",[19,459,460],{},[76,461,464],{"href":462,"rel":463},"https:\u002F\u002Fnips.nostr.com\u002F50",[449],"NIP-50: Search Capability",[19,466,467],{},[76,468,471],{"href":469,"rel":470},"https:\u002F\u002Fnips.nostr.com\u002F65",[449],"NIP-65: Relay List Metadata",[19,473,474],{},[76,475,477],{"href":476},"\u002Fposts\u002Fwhat-is-nostr","What is Nostr?",[19,479,480],{},[76,481,483],{"href":482},"\u002Fposts\u002Fwhat-is-a-nostr-relay","What is a Nostr Relay?",[19,485,486],{},[76,487,489],{"href":488},"\u002Fposts\u002Fhow-to-choose-nostr-relays","How to Choose Nostr Relays",[19,491,492],{},[76,493,79],{"href":78},[19,495,496],{},[76,497,85],{"href":84},[19,499,500],{},[76,501,91],{"href":90},{"title":503,"searchDepth":504,"depth":504,"links":505},"",2,[506,507,508,509,510,511,512,513,514,521,522,523,524],{"id":45,"depth":504,"text":46},{"id":94,"depth":504,"text":95},{"id":124,"depth":504,"text":125},{"id":168,"depth":504,"text":169},{"id":184,"depth":504,"text":185},{"id":214,"depth":504,"text":215},{"id":256,"depth":504,"text":257},{"id":279,"depth":504,"text":280},{"id":313,"depth":504,"text":314,"children":515},[516,518,519,520],{"id":318,"depth":517,"text":319},3,{"id":328,"depth":517,"text":329},{"id":335,"depth":517,"text":336},{"id":342,"depth":517,"text":343},{"id":349,"depth":504,"text":350},{"id":379,"depth":504,"text":380},{"id":412,"depth":504,"text":413},{"id":439,"depth":504,"text":440},"nostr","2026-04-11","Understand the privacy and security trade-offs of Nostr relays, including what relay operators can observe, what they cannot do, and how to use relays more safely.","md",{"url":530,"title":5},"v1690313893\u002Fnostr-logo_hwrql1",{"publishDateTime":532},"2026-04-11:12:30",true,"\u002Fposts\u002Fnostr-relays-privacy-and-security",{"title":5,"description":527},{"loc":534,"lastmod":537,"changefreq":538,"priority":539,"images":540},"2026-10-20","monthly",0.8,[541],{"loc":542},"https:\u002F\u002Fres.cloudinary.com\u002Fthreenine-co-uk\u002Fimage\u002Fupload\u002Ff_jpg,w_1200\u002Fv1690313893\u002Fnostr-logo_hwrql1","posts\u002Fnostr-relays-privacy-and-security","What relays can see, what they cannot, and how to reduce avoidable risk","Nostr relays improve decentralisation and resilience, but they do not remove privacy and security trade-offs. Here is a practical guide to the risks and how to manage them.",[525,547,548,549,550,551],"relay","privacy","security","key-management","nostr-relay","25PxDAuCu1Edj6rxIQQqxqrJ0ytBfGhePGvnD35OhT8",{"name":554,"to":555,"avatar":556,"sameAs":557},"Gary Woodfine","https:\u002F\u002Fgarywoodfine.com","garywoodfine_tlccjw",[558,559,560,561],"https:\u002F\u002Fgithub.com\u002Fgarywoodfine","https:\u002F\u002Fwww.youtube.com\u002F@Threenineio","https:\u002F\u002Fnjump.me\u002Fnpub1a3jz7w9laar2k77dkkh2rhxunr9zpja5emrl5yrxetamt29swqyqmmt32y","nostr:npub1a3jz7w9laar2k77dkkh2rhxunr9zpja5emrl5yrxetamt29swqyqmmt32y",[563,568],{"title":564,"path":565,"stem":566,"description":567,"children":-1},"How to self-host your NIP-05 identity","\u002Fposts\u002Fhow-to-self-host-your-nip-05-identity","posts\u002Fhow-to-self-host-your-nip-05-identity","Learn how NIP-05 maps a human-readable identifier like name@domain.com to your Nostr public key using a nostr.json file on your own domain.",{"title":569,"path":78,"stem":570,"description":571,"children":-1},"What is a NIP-07 signer?","posts\u002Fwhat-is-a-nip-07-signer","Learn what a NIP-07 signer is, how browser extensions expose the window.nostr API, and why this model is safer than pasting your Nostr private key into websites.",{"id":573,"extension":574,"items":575,"meta":617,"stem":618,"__hash__":619},"navigation\u002Fnavigation.yaml","yaml",[576,589,602,610],{"label":577,"children":578},"products",[579,584],{"label":580,"icon":581,"description":582,"to":583},"Diogel","material-symbols:preview","Keep your Nostr identity in your hands, in your browser, on your phone or on your own server.","\u002Fproducts\u002Fdiogel",{"label":585,"icon":586,"description":587,"to":588},"Nostrfi","i-lucide-radio-tower","Nostr relay, storage and backend-service infrastructure for builders and operators.","\u002Fproducts\u002Fnostrfi",{"label":590,"children":591},"services",[592,597],{"label":593,"description":594,"icon":595,"to":596},"Nostr product development","Focused engineering support for teams building Nostr-native products, tools and protocol-aware user experiences.","game-icons:ostrich","\u002Fservices\u002Fnostr-product-development",{"label":598,"description":599,"icon":600,"to":601},"Bitcoin product development","Engineering for Bitcoin payments, wallet-connected flows and products where users hold their own keys.","bx:bxl-bitcoin","\u002Fservices\u002Fbitcoin-product-development",{"label":603,"children":604},"company",[605],{"label":606,"icon":607,"description":608,"to":609},"About","i-lucide-file-text","What we believe, what we build and how we work.","\u002Fcompany\u002Fabout",{"label":611,"children":612},"resources",[613],{"label":614,"icon":607,"description":615,"to":616},"Blog","Practical Bitcoin, Nostr and product engineering guides.","https:\u002F\u002Fthreenine.blog",{},"navigation","n-Xc9COCwoCHJiMCeBNLauHtuhxcGol-wu9S2og3Rqs",[621,622],{"label":593,"description":594,"icon":595,"to":596},{"label":598,"description":599,"icon":600,"to":601},[624,625],{"label":580,"icon":581,"description":582,"to":583},{"label":585,"icon":586,"description":587,"to":588},[627],{"label":606,"icon":607,"description":608,"to":609},[629,632,635,638,641],{"path":630,"title":631},"\u002Flegals\u002Fcookie-policy","Cookie Policy",{"path":633,"title":634},"\u002Flegals\u002Fcopyright","Copyright",{"path":636,"title":637},"\u002Flegals\u002Fcustomer-support","Customer Support",{"path":639,"title":640},"\u002Flegals\u002Fprivacy-policy","Privacy Policy",{"path":642,"title":643},"\u002Flegals\u002Fterms-of-service","Terms of Service",{"id":645,"title":554,"avatar":556,"body":646,"description":650,"extension":528,"meta":665,"name":554,"navigation":533,"path":666,"role":667,"sameAs":668,"seo":669,"stem":670,"summary":671,"to":555,"username":7,"__hash__":672},"authors\u002Fauthors\u002FGary Woodfine.md",{"type":9,"value":647,"toc":663},[648,651,654,657,660],[12,649,650],{},"Polyglot software engineer with extensive experience in software engineering, with a passion to build great scalable software to solve complex business problems. A track record in developing high-performance backend systems, optimizing architecture, and ensuring continuous availability of critical APIs.",[12,652,653],{},"I'm an independent software developer, vendor, architect, consultant, blogger, Bitcoin & Nostr Enthusiast. I've provided software development expertise and helped augment software development skills and teams for a number of startups, product companies, corporate IT shops, and consulting firms.",[12,655,656],{},"I started out in the software world back in 1995, building websites with HoTMetaL Pro & ASP and moved on to building web apps with .NET when it released in Beta in 2001, since then, I've shipped systems in just about every industry.",[12,658,659],{},"Along my journey, I have also shipped various platforms & products in a number of other programming languages or software development frameworks that have had their moments in the sun, but somehow I have always made way back to C# & .Net.",[12,661,662],{},"Over the years, I've strived to improve how I and my teams deliver value to the clients, customers, and end-users. That has led me down the path of exploring Agile, Domain-Driven Design, REST, messaging, distributed systems, and anything else I thought could help.",{"title":503,"searchDepth":504,"depth":504,"links":664},[],{},"\u002Fauthors\u002Fgary-woodfine","Managing Director",[558,559,560,561],{"title":554,"description":650},"authors\u002FGary Woodfine","independent software developer, vendor, architect, consultant, blogger, Bitcoin & Nostr Enthusiast. I've provided software development expertise and helped augment software development skills and teams for a number of startups, product companies, corporate IT shops, and consulting firms.","30ZWJ-6T2g8S0kLLgUhZWA7_QFUOpa5CElif7tAhsLo",{"title":554,"name":554,"role":667,"summary":671,"avatar":556,"username":7,"to":555},[675,684,690,693,698,705,716,724,729,734,740,747,757,766,772,778,783,788,797,803,810,816,820,825,830,835,840,843,847,852,859,868,874,879,887,892,898,903,908,912,918,923,927],{"path":676,"title":677,"date":678,"tags":679,"category":525,"featureImage":683},"\u002Fposts\u002Fwhat-is-a-nostr-client","What is a Nostr client?","2026-10-26",[525,680,548,681,682],"nostr-client","keys","getting-started",{"url":530,"title":677},{"path":488,"title":489,"date":526,"tags":685,"category":525,"featureImage":688},[525,547,548,549,686,687],"nostr-relays","censorship-resistance",{"url":530,"title":689},"How to choose nostr relays",{"path":534,"title":5,"date":526,"tags":691,"category":525,"featureImage":692},[525,547,548,549,550,551],{"url":530,"title":5},{"path":482,"title":483,"date":526,"tags":694,"category":525,"featureImage":696},[525,547,548,687,695,551],"decentralization",{"url":530,"title":697}," What is a Nostr Relay?",{"path":699,"title":700,"date":701,"tags":702,"category":525,"featureImage":704},"\u002Fposts\u002Fwhy-nostr-keys-better-privacy","Why Nostr keys and identity are better for privacy","2026-04-06",[525,548,703,549],"identity",{"url":530,"title":700},{"path":706,"title":707,"date":708,"tags":709,"category":525,"featureImage":715},"\u002Fposts\u002Fbest-nostr-browser-extensions-2026","Best Nostr Browser Extensions (2026): Complete Comparison","2026-03-24",[525,710,711,549,712,713,714],"browser-extension","nip-07","comparison","porwr","diogel",{"url":530,"title":707},{"path":90,"title":717,"date":708,"tags":718,"category":525,"featureImage":721},"Getting Started with Nostr: Porwr Setup Guide (2026)",[719,548,525,713,714,720,711,710],"social","cryptography",{"url":722,"title":723},"v1690313893\u002Fblog\u002Fdiogel-product-header_x3az6t","Porwr Browser Extension",{"path":84,"title":725,"date":726,"tags":727,"category":525,"featureImage":728},"How to manage keys for Nostr","2025-12-15",[525,681,548,549],{"url":530,"title":725},{"path":565,"title":564,"date":726,"tags":730,"category":525,"featureImage":733},[525,731,548,732],"nip-05","self-hosting",{"url":530,"title":564},{"path":735,"title":736,"date":737,"tags":6,"category":548,"featureImage":738},"\u002Fposts\u002Fwhy-privacy-is-a-fundamental-human-right","Why privacy is a fundamental human right","2025-12-09",{"url":739,"title":736},"v1690313893\u002Fprivacy-header_exiblo",{"path":741,"title":742,"date":743,"tags":6,"category":744,"featureImage":745},"\u002Fposts\u002Fhow-government-monetary-policy-erodes-the-value-of-money","How government monetary policy erodes the value of money","2025-12-01","bitcoin",{"url":746,"title":742},"v1719908027\u002Fbitcoin_szcm1m",{"path":748,"title":749,"date":750,"tags":751,"category":744,"featureImage":755},"\u002Fposts\u002Fbitaxe-touch-genesis-batch","Bitaxe Touch Genesis Batch","2025-07-23",[752,753,754],"bitaxe","mining","solo",{"url":756,"title":749},"v1690313878\u002Fbitaxe-touch_c6qrjd",{"path":758,"title":759,"date":760,"tags":761,"category":744,"featureImage":765},"\u002Fposts\u002Fbitcoin-is-not-a-ponzi-scheme","Bitcoin is not a Ponzi Scheme","2025-07-22",[762,763,764],"ponzi","economics","investment",{"url":746,"title":759},{"path":767,"title":768,"date":760,"tags":769,"category":744,"featureImage":771},"\u002Fposts\u002Fgetting-started-with-public-pool-mining","Getting started with Public Pool Mining",[753,754,770],"lottery",{"url":746,"title":768},{"path":773,"title":774,"date":775,"tags":776,"category":744,"featureImage":777},"\u002Fposts\u002Fgetting-started-with-solo-mining","Getting started with solo mining","2025-07-19",[752,753,754,770],{"url":746,"title":774},{"path":779,"title":780,"date":775,"tags":781,"category":744,"featureImage":782},"\u002Fposts\u002Fwhat-is-bitcoin-mining","What is Bitcoin mining",[753,744],{"url":746,"title":780},{"path":784,"title":785,"date":775,"tags":786,"category":744,"featureImage":787},"\u002Fposts\u002Fwhat-is-solo-mining","What is solo mining",[754],{"url":746,"title":785},{"path":789,"title":790,"date":791,"tags":792,"category":744,"featureImage":795},"\u002Fposts\u002Fhow-to-run-a-bitcoin-node","How to run a Bitcoin Node with Umbrel Home","2025-07-14",[793,794],"node","umbrel",{"url":746,"title":796},"How to run a Bitcoin node",{"path":798,"title":799,"date":800,"tags":801,"category":525,"featureImage":802},"\u002Fposts\u002Fhow-to-get-started-with-nostr","How to get started with Nostr","2024-10-09",[525,682,548,681],{"url":530,"title":799},{"path":804,"title":805,"date":806,"tags":6,"category":807,"featureImage":808},"\u002Fposts\u002Fhow-to-use-layouts-and-pages-in-nuxt","How to use layouts and pages in Nuxt","2024-10-08","development",{"url":809,"title":805},"v1690313878\u002Fnuxt-header_tbc9cp",{"path":811,"title":812,"date":813,"tags":6,"category":807,"featureImage":814},"\u002Fposts\u002Fhow-to-add-tailwindcss-to-nuxt","How to add tailwindcss to nuxt","2024-10-07",{"url":809,"title":815},"Getting started with Nuxt",{"path":817,"title":815,"date":818,"tags":6,"category":807,"featureImage":819},"\u002Fposts\u002Fgetting-started-with-nuxt","2024-10-06",{"url":809,"title":815},{"path":821,"title":822,"date":818,"tags":6,"category":807,"featureImage":823},"\u002Fposts\u002Fhow-to-store-terraform_state-in-digital-ocean-space","How to store Terraform state in DigitalOcean Spaces",{"url":824,"title":822},"v1690313893\u002Fterraform-header_ixmkgg",{"path":826,"title":827,"date":828,"tags":6,"category":807,"featureImage":829},"\u002Fposts\u002Fhow-to-use-terraform-with-digitalocean","How to use Terraform with DigitalOcean","2024-10-05",{"url":824,"title":827},{"path":831,"title":832,"date":833,"tags":6,"category":548,"featureImage":834},"\u002Fposts\u002Fhow-to-add-fathom-analytics-to-nuxt","How to add Fathom Analytics to Nuxt","2024-07-01",{"url":809,"title":832},{"path":836,"title":837,"date":833,"tags":6,"category":548,"featureImage":838},"\u002Fposts\u002Fimportance-of-privacy-in-web-analytics","The Importance of Privacy in Web Analytics",{"url":839,"title":837},"v1690313893\u002Fanalytics_nlew9f",{"path":78,"title":569,"date":833,"tags":841,"category":525,"featureImage":842},[525,711,710,549],{"url":530,"title":569},{"path":476,"title":477,"date":833,"tags":844,"category":525,"featureImage":846},[525,845,548,695],"relays",{"url":530,"title":477},{"path":848,"title":849,"date":833,"tags":6,"category":548,"featureImage":850},"\u002Fposts\u002Fwhy-choose-privacy-focused-analytics","Why choose privacy focused Analytics",{"url":851,"title":849},"v1690313893\u002Fblog\u002Ffathom-header_y7s0x2",{"path":853,"title":854,"date":855,"tags":6,"category":807,"featureImage":856},"\u002Fposts\u002Fwhat-is-api-integration","What is API Integration?","2024-06-04",{"url":857,"title":858},"v1719908247\u002Fapi_f3f1mh","What is API integration?",{"path":860,"title":861,"date":862,"tags":863,"category":744,"featureImage":865},"\u002Fposts\u002Fhow-blockchain-uses-cryptography","How Blockchain uses Cryptography","2024-05-18",[864,720],"blockchain",{"url":866,"title":867},"v1690313893\u002Fblockchain_tfrcrd","What is blockchain?",{"path":869,"title":870,"date":871,"tags":6,"category":807,"featureImage":872},"\u002Fposts\u002Fhow-to-create-a-websocket-server-in-dotnet","How to create a WebSocket server in dotnet","2024-05-15",{"url":873,"title":870},"v1719908486\u002Fwebsockets_pjqtld",{"path":875,"title":876,"date":871,"tags":877,"category":744,"featureImage":878},"\u002Fposts\u002Fwhat-is-blockchain","What is Blockchain",[864,744],{"url":866,"title":867},{"path":880,"title":881,"date":882,"tags":883,"category":744,"featureImage":885},"\u002Fposts\u002Fintroduction-to-public-and-private-key-cryptography","Public Key Cryptography Explained: A Beginner's Guide","2024-05-12",[884,744,525],"encryption",{"url":866,"title":886},"Introduction to public and private key cryptography",{"path":888,"title":889,"date":882,"tags":890,"category":744,"featureImage":891},"\u002Fposts\u002Fwhat-is-bitcoin","What is Bitcoin?",[864,744],{"url":746,"title":889},{"path":893,"title":894,"date":895,"tags":6,"category":807,"featureImage":896},"\u002Fposts\u002Fwhat-are-web-sockets","What are Web Sockets","2023-09-06",{"url":873,"title":897},"What are Websockets",{"path":899,"title":900,"date":901,"tags":6,"category":807,"featureImage":902},"\u002Fposts\u002Fwhat-is-api-first","What is API First?","2023-07-13",{"url":857,"title":900},{"path":904,"title":905,"date":906,"tags":6,"category":807,"featureImage":907},"\u002Fposts\u002Fapi-gateway-pattern","API Gateway Pattern","2023-06-10",{"url":857,"title":905},{"path":909,"title":910,"date":906,"tags":6,"category":807,"featureImage":911},"\u002Fposts\u002Fbackend-for-frontend-design-pattern","Backend for Frontend Design Pattern",{"url":857,"title":910},{"path":913,"title":914,"date":915,"tags":6,"category":807,"featureImage":916},"\u002Fposts\u002Fguide-api-development","An introductory guide to API Development","2023-06-05",{"url":857,"title":917},"API Development",{"path":919,"title":920,"date":915,"tags":6,"category":807,"featureImage":921},"\u002Fposts\u002Fwhat-is-a-rest-api","What is a REST API?",{"url":857,"title":922},"What is an API?",{"path":924,"title":922,"date":925,"tags":6,"category":807,"featureImage":926},"\u002Fposts\u002Fwhat-is-an-api","2023-06-01",{"url":857,"title":922},{"path":928,"title":929,"date":925,"tags":6,"category":807,"featureImage":930},"\u002Fposts\u002Fwhat-is-api-development","What is API Development ?",{"url":857,"title":931},"What is API development?",1793132667043]