The chat with no phone number and no central server to shut down. Powered by Bitcoin and Nostr. github.com/parres-hq/whitenoise_flutter
Public Key
npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec Profile Code
nprofile1qqs8t4ehcdrjgugzn3zgw6enp53gg2y2gfmekkg69m2d4gwxcpl04acpp4mhxue69uhkummn9ekx7mqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgn0t5yr
Show more details
Published at
2026-01-12T12:06:02Z Event JSON
{
"id": "2e923f03ee4867c8cfd385129830e9a878003c90eabf2395afbdddc3b3e6fde3" ,
"pubkey": "75d737c3472471029c44876b330d2284288a42779b591a2ed4daa1c6c07efaf7" ,
"created_at": 1768219562 ,
"kind": 0 ,
"tags": [],
"content": "{\"lud06\":\"\",\"lud16\":\"[email protected] \",\"display_name\":\"White Noise\",\"website\":\"whitenoise.chat\",\"about\":\"The chat with no phone number and no central server to shut down. Powered by Bitcoin and Nostr.\\n\\ngithub.com\\/parres-hq\\/whitenoise_flutter\",\"nip05\":\"\",\"banner\":\"https:\\/\\/blossom.primal.net\\/dd3b0340765b556ba220acfa436946ab2230b70560e9f88632ed8bec826ecb10.png\",\"name\":\"White Noise\",\"picture\":\"https:\\/\\/blossom.primal.net\\/8732b3f504df751c4f4523252d959177f1a1aef152cf6078f531eb6517c8b2db.png\"}" ,
"sig": "e6528b32bed1c4481490b658e15b0056af9dee833f6b61e7acb01ad70e34a0986db3d27d2b2e2faf31b0592d73730a9812463fd29abf98829cd60d37a1b7f8cf"
}
Last Notes npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise š«¶ npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise A clear calendar works wonders. Here is what we shipped in January. #naddr1qvā¦2u8w npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise GM. If your messenger knows who you are, it knows too much. npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Decentralizing Digital Identity & Encrypted Messaging: https://www.youtube.com/watch?v=vCr6U0vuqVY npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Attempting to KYC the internet is a misunderstanding of how networks work: you can fence the platforms, but you can't fence the protocol. (Watch the original interview with @nprofileā¦e088 by @nprofileā¦8xhx - link in the comments) https://blossom.primal.net/5ed2e6f307bd84be0e9f13bcb0cde99182c36ebda82eb35c51805f086840ac35.mp4 npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Looking at the map, itās clear: privacy is global infrastructure, not a niche. #nevent1qā¦q26k npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise You close the bathroom door. š That doesnāt make you a criminal. it makes you human. npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Weāre moving away from platforms that monetize your brain to tools that protect your autonomy. Read the interview with @nprofileā¦e088 on the mission behind White Noise and the Marmot protocol. #naddr1qvā¦l8gt npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise GM. The best way to predict the future is to build the tools that make it possible. npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise It exists. A parallel world where money and chats require no ID. #nevent1qā¦7wcz npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Making it easier to build on Nostr is how we win. nevent1qqs97h9ednrvfx04gp8y0x2nfkw28xuan3r3lewul3v2geqt5s2y79szypuvuma2wgny8pegfej8hf5n3x2hxhkgcl2utfjhxlj4zv8sycc86qcyqqqqqqgehu35d#nevent1qā¦dn5f npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise The last time you were robbed? Probably five seconds ago. We accept a 100% tax on our digital lives. We feed the algorithm our thoughts, our networks, and our time. In return, we get served ads. @nprofileā¦8p0e https://blossom.primal.net/6edaf94708418f267652e3416a67131489f2c3a9c91b2ed823054359ad099e3d.mp4 npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Just a reminder that leaks aren't accidents. They are inevitabilities of centralized storage. npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Building a platform is about control. Building on a protocol is about freedom. @nprofileā¦e088 https://blossom.primal.net/d24f942bfc39bede8ec7df1a727b0e687a5d2f566f1daca8838422a6b771a7e3.mp4 npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise The only way to win is to leave the table. Exit to Bitcoin. Move to Nostr. @nprofileā¦rjkj @nprofileā¦8p0e https://blossom.primal.net/9e398a62381b287a5a96c0430fba2e85562ddebe7dc8c8744bf0d798fdcb1e67.mp4 npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise ā¤ļø npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Math doesn't ask for a visa, and code shouldn't check your passport. Identity is a key you hold, not a location you live in. https://blossom.primal.net/b1191747d65045c16c2e42fbeced52f981d5d905c8408fd15195203948d79aa3.mp4 npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Aaand... weāre back with the monthly recap š December was a big month for us: two conference talks, some real face time as a team, and solid progress toward real-time messaging. š¤ Conferences and Speaking - @Btrust Dev Day š Josefina + Javier presented MIP-5: private mobile notifications without leaking metadata (reliable push, hidden social graph) Watch the presentation: https://www.youtube.com/watch?v=bDxhY5p1yKQ&t=6360s - Africa Bitcoin Conference: @nprofileā¦8npz introduced Marmot and why MLS-based group encryption brings real group messaging to Nostr. Interested? The talk is here: https://www.youtube.com/watch?v=g2qKOw0xWVU&t=3280s - @nprofileā¦dex9 also ran a two-hour hands-on workshop on building with Nostr and Marmot, unfortunately this was not recorded. šļøTeam Gathering in Mauritius With most of the team together for the conferences, we held a team meeting to discuss the streaming architecture work now underway. Beyond the technical sessions, we answered questions from conference attendees curious about encrypted messaging on Nostr, met potential collaborators, and got to know each other better outside of GitHub and video calls. š„ Community Call Highlights The December community call (first Tuesday of each month, 1700 UTC) covered local WebSocket notifications and the battery and reliability tradeoffs for keeping connections alive on mobile. We also did a deep dive on the privacy design decisions behind MIP-5. š§© The highlight was introducing Tubestr, the first non-chat Marmot client: Tubestr is a private video sharing app designed for kids to share their creations with a trusted circle only. Check it out at https://www.tubestr.app/ š§Technical Progress Real-Time Messaging Architecture Until now, White Noise polled for new messages every 2 seconds in the foreground and every 30 seconds in the background. This works, but it means messages never arrive instantly and background delivery feels sluggish. The streaming architecture work underway will change this: messages arrive the moment they're sent. This is early work that will roll out over several releases. The groundwork includes a new subscribe_to_group_messages API that delivers an initial snapshot plus live updates for new messages, reactions, and deletions. On the Flutter side, a new ChatStreamProvider consumes the Rust SDK stream directly, handling sorting and member resolution. We also added an enriched chat list API that returns summaries with latest message previews, and fixed message reordering loops by using stable sorting with createdAt plus message id as a tiebreaker. š² Android Platform Stability Several fixes this month target real-world Android issues. Notifications weren't arriving after device restart because the foreground service only initialized the Rust library without the full database configuration. We created a WhitenoiseInitService that properly initializes the backend from both the foreground service and the main app, making it safe to call from either entry point. We also fixed š§¼ data cleanup on uninstall so chats and profiles no longer persist after reinstalling, simplified the battery optimization permission flow to avoid stuck denial loops, and added graceful camera permission handling with an "Open Settings" link when access is denied. š
UI and UX Improvements Chat bubbles now follow a standardized layout and dimension spec. We added a new WarningBox widget used across profile screens to remind users that their profile information is public. The media modal got fade animations and stable image positioning so the image no longer shifts when toggling overlays. The language selector now correctly shows the system language on first load. 𦫠Marmot Protocol Spec MIP-00 and MIP-02 now specify base64 encoding for KeyPackage and Welcome content instead of hex. This reduces payload size by roughly 33% and uses a tag-based encoding declaration. This is a protocol hard fork, so readers must accept both formats during the transition period, but new implementations must write base64. āļø Marmot TypeScript SDK The TypeScript SDK saw significant development this month with 9 merged PRs. The main focus was building out the MarmotClient class as the primary interface for developers. The proposals and commits flow is now implemented, allowing proper MLS group state management. Group message reading now includes retry logic for handling unreadable messages gracefully. Member addition and group membership methods were refactored into cleaner abstractions, and the SDK picked up base64 content encoding to match the spec change. A new generic NostrNetworkInterface makes it easier to integrate with different Nostr implementations. š» MDK Language Bindings MDK is now published to Rubygems and PyPI (as mdk-python), making it easier to integrate Marmot into Ruby and Python applications. These join the existing Kotlin and Swift bindings, all generated via UniFFI from the core Rust crate. šŖ Security Audit We're currently undergoing a security audit with Least Authority. This month several fixes landed based on their findings. MDK now uses a v2 group image format with separate upload seed derivation, ensuring uploaded images use a derived keypair rather than the encryption key directly. Migration tooling handles the transition from v1 to v2 automatically while maintaining backward compatibility. š ļø Expect more fixes and improvements in the coming months as the audit continues. ā³ In Progress A few notable PRs are still in flight. The optimistic UI work will make messages and reactions appear instantly while syncing with the server. NIP-55 support will enable integration with Amber and other external signers. Media layout standardization will bring dynamic grid sizing that respects screen width constraints. š· Ecosystem Growth Several new projects have expressed interest in adding Marmot to their stack. More to share as those conversations develop. ā¤ļø Contributors Thanks to everyone who contributed this month: erskingardner, josefinalliende, hzrd149, gzuuus, untreu2, jgmontoya, codeswot, Quwaysim, ayushsaksena30, AbdulbasitSaid, mubarakcoded, dannym-arx, and kuba-04. - If you're building on Nostr and want to add encrypted messaging, check out the Marmot Protocol spec. https://x.com/whitenoisechat/status/2006075259406188550?s=46 If you want to contribute to the reference implementation, White Noise is open for PRs. The next community call is the first Tuesday of January at 1700 UTC. https://blossom.primal.net/8a9c592be96d03a83ce5fe5b95eb1729516d5be8348326c26d62b55e60469757.jpg npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Hey! Weāre aware of that issue in 0.1.4 and will be addressed in the next release coming soon. In the meantime, you can reach us directly for help from within the app: go to New Chat > Help and Feedback. that opens a chat with White Noise support. Appreciate your patience, and thanks for testing things early. ā¤ļø npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise š White Noise v1.0.4 is out now. Faster, Stronger, Cleaner. Thank you to everyone who tested v0.1.3 and gave us feedback. As the saying goes, everyone has a plan until they get punched in the face. Well, we got punched in the face on the last release.Being able to see the real-world usage and issues that cropped up was invaluable, however. You should see significant improvements across the board. For v1.0.4 we took on a major refactor of the underlying rust crate that does most of the heavy lifting in the app. These "backend" changes required significant updates here in the app to align to the new rust API and includes numerous bug fixes, refactors many internal components for better maintainability, and improves the overall responsiveness of the application. Finally, we did a lot of UI/UX polish along the way. šŖ Stability and Performance - Improved backend: The backend that manages relay connects, event processing, and group operations has been significantly overhauled resulting in a more stable and performant app. - Improved Relay Handling: Relay connection checks have been refactored to provide better error handling and a more stable experience Pull-to-refresh for relays has been removed to simplify the user experience - Performance Fixes: Several performance improvements have been made to reduce lag and improve the overall responsiveness of the app - Bug Fixes: Numerous bugs have been fixed, including issues with account switching, metadata handling, and chat message display - Android Specific Fixes: Addressed a bug with sensitive clipboard handling for private key copying on Android š§ Features and Functionality - Group Management: Users can now edit group names and descriptions from the group info page - Message Drafts: Message drafts are now stored securely, so users won't lose their messages if they navigate away from a chat - Improved Navigation: Added back buttons in the authentication flow and improved navigation within the app - Key Package Admin: Added a new screen for managing key packages š± UI/UX Enhancements - Improved Chat Experience: The chat auto-scroll behavior has been enhanced to work better with the keyboard, preventing messages from being hidden. The swipe-to-reply widget has also been refactored - Redesigned "Start New Chat" Sheet: The "Start New Chat" sheet has been redesigned for better performance and usability, reducing load times and improving scrolling - Skeleton Loaders: Skeleton loaders have been added to provide a better user experience while content is loading - Emoji Picker and Reactions: The emoji picker and reaction dialogs are now more responsive and visually appealing - Consistent UI Components: Various UI components, such as buttons, icons, and headers, have been unified and made consistent across the application - Custom Bottom Sheet: A new custom bottom sheet with fade-in/out animations has been implemented for a smoother user experience - Visual Polish: Numerous small visual improvements have been made, such as adjusting padding, fixing alignments, and updating icon colors š¤ Contributors The following contributors had code included in this release: - [@erskingardner](https://github.com/erskingardner) - [@josefinalliende](https://github.com/josefinalliende) - [@codeswot](https://github.com/codeswot) - [@quwaysim](https://github.com/Quwaysim) - [@untreu2](https://github.com/untreu2) - [@jgmontoya](https://github.com/jgmontoya) - [@delcin-raj](https://github.com/delcin-raj) https://blossom.primal.net/704ca785d6779340882055987e64982c02e0da5085a67fae0fac69ec272370e1.jpg npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec White Noise Privacy isnāt a crime fighting strategy. Itās a human right. On Oct 14, EU governments are slated to vote on āChat Control.ā The pitch is child protection. The reality is scanning everyoneās private messages and weakening end-to-end encryption. 679 scientists from 36 countries have signed an open letter explaining why this wonāt work and will make us less safe. Their bottom line: - Large-scale CSAM (Child Sexual Abuse Material) detection cannot reach acceptable accuracy. Itās easy to evade and floods systems with false positives. - On-device scanning breaks E2EE by design, creating single points of failure and new targets for abuse. - Expanding āmitigationsā (AI filters, age checks) adds complexity and risk, not security. (Find the full letter in the comments) Why mass scanning is the wrong tool: 1. It flips the presumption of innocence. Treating every citizen like a suspect is not āsafetyā. Itās surveillance. 2. Itās the bedroom-camera problem. Putting spyware on every phone to catch a few criminals is like installing cameras in every bedroom to prevent murders. We all want to stop harm. Violating the privacy of millions of innocents isnāt the way. 3. Function creep is inevitable. Once the scanning pipeline exists, it can be re-tuned for politics, speech, and power. Borders shift, laws change. Whatās legal here may be criminal elsewhere. Who draws the line next year? 4. You canāt āre-secureā leaked data. Privacy is protective armor, not a PR setting. Once stripped, itās gone. šļø The cypherpunk lesson: As Eric Hughes wrote, āPrivacy is necessary for an open society in the electronic age.ā Cypherpunks didnāt ask for permission. they wrote code so ordinary people could have the same defensive tech that institutions take for granted. Thatās not a niche hobby. Itās democratic hygiene. š«¶ Better ways to protect children (and everyone) : Real protection doesnāt require blanket surveillance. It needs education, prevention, faster takedowns, resourced investigators (with warrants and due process), targeted operations (against offenders, not dragnet scans of the innocent). These are exactly the pathways experts (and the UN) recommend: effective, proportionate, and rights-preserving. šŖ Build the free, private stack: We already have tools that defend both safety and liberty without backdoors: - Bitcoin for open, borderless payments. - Nostr to own your identity and content. - White Noise for truly private messaging: no phone numbers, no emails, end-to-end encryption with forward secrecy and post-compromise security. This isnāt about ānothing to hide.ā Itās about the power to live, speak, organize, report, and dissent without pre-approval. A controlled population is not a free population. And a free society is the best long-term defense against abuse and corruption alike.