{"id":13469950,"url":"https://github.com/vuvuzela/vuvuzela","last_synced_at":"2026-01-17T18:26:22.005Z","repository":{"id":47502729,"uuid":"42053757","full_name":"vuvuzela/vuvuzela","owner":"vuvuzela","description":"Private messaging system that hides metadata","archived":false,"fork":false,"pushed_at":"2019-09-12T15:41:22.000Z","size":772,"stargazers_count":2485,"open_issues_count":21,"forks_count":184,"subscribers_count":149,"default_branch":"master","last_synced_at":"2025-10-19T07:35:48.364Z","etag":null,"topics":["chat","cryptography","golang","messaging","metadata","privacy","research","vuvuzela"],"latest_commit_sha":null,"homepage":"https://vuvuzela.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vuvuzela.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-07T13:12:29.000Z","updated_at":"2025-10-19T06:43:29.000Z","dependencies_parsed_at":"2022-07-24T23:46:25.458Z","dependency_job_id":null,"html_url":"https://github.com/vuvuzela/vuvuzela","commit_stats":null,"previous_names":["davidlazar/vuvuzela"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vuvuzela/vuvuzela","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuvuzela%2Fvuvuzela","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuvuzela%2Fvuvuzela/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuvuzela%2Fvuvuzela/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuvuzela%2Fvuvuzela/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vuvuzela","download_url":"https://codeload.github.com/vuvuzela/vuvuzela/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuvuzela%2Fvuvuzela/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28515468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T17:57:59.192Z","status":"ssl_error","status_checked_at":"2026-01-17T17:57:52.527Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","cryptography","golang","messaging","metadata","privacy","research","vuvuzela"],"created_at":"2024-07-31T16:00:19.515Z","updated_at":"2026-01-17T18:26:21.967Z","avatar_url":"https://github.com/vuvuzela.png","language":"Go","funding_links":[],"categories":["Go","\u003ca id=\"1d9dec1320a5d774dc8e0e7604edfcd3\"\u003e\u003c/a\u003e工具-新添加的","Categories"],"sub_categories":["\u003ca id=\"8f1b9c5c2737493524809684b934d49a\"\u003e\u003c/a\u003e文章\u0026\u0026视频","Privacy and anonymity"],"readme":"\u003e *Metadata absolutely tells you everything about somebody's life*\n\u003e\n\u003e — [Stewart Baker](http://www.nybooks.com/articles/archives/2013/nov/21/snowden-leaks-and-public/), former General Counsel of the NSA\n\n###\n\n\u003e *We kill people based on metadata*\n\u003e\n\u003e — [Michael Hayden](https://www.youtube.com/watch?v=kV2HDM86XgI\u0026t=17m53s), former Director of the NSA\n\n\n# Vuvuzela\n\nVuvuzela is a messaging system that protects the privacy of message contents\nand message metadata.  Users communicating through Vuvuzela do not reveal who\nthey are talking to, even in the presence of powerful nation-state adversaries.\nOur [SOSP 2015 paper](https://davidlazar.org/papers/vuvuzela.pdf) explains\nthe system, its threat model, performance, limitations, and more.  Our\n[SOSP 2015 slides](https://davidlazar.org/slides/vuvuzela-sosp2015.pdf) give\na more graphical overview of the system.\n\nVuvuzela is the first system that provides strong metadata privacy while\nscaling to millions of users.  Previous systems that hide metadata using\nTor (such as [Pond](https://pond.imperialviolet.org/)) are prone to traffic\nanalysis attacks.  Systems that encrypt metadata using techniques like\nDC-nets and PIR don't scale beyond thousands of users.\n\nVuvuzela uses efficient cryptography ([NaCl](http://nacl.cr.yp.to)) to hide as\nmuch metadata as possible and adds noise to metadata that can't be encrypted\nefficiently.  This approach provides less privacy than encrypting all of the\nmetadata, but it enables Vuvuzela to support millions of users.  Nonetheless,\nVuvuzela adds enough noise to thwart adversaries like the NSA and guarantees\n[differential privacy](https://en.wikipedia.org/wiki/Differential_privacy) for\nusers' metadata.\n\n\n## Screenshots\n\n**A conversation in the Vuvuzela client**\n\n![client](https://github.com/vuvuzela/vuvuzela/blob/master/screenshots/client.gif)\n\nIn practice, the message latency would be around 20s to 40s, depending\non security parameters and the number of users connected to the system.\n\n**Noise generated by the Vuvuzela servers**\n\n![server](https://github.com/vuvuzela/vuvuzela/blob/master/screenshots/server.gif)\n\nVuvuzela is unable to encrypt two kinds of metadata: the number of idle users\n(connected users without a conversation partner) and the number of active users\n(users engaged in a conversation).  Without noise, a sophisticated adversary\ncould use this metadata to learn who is talking to who.  However, the Vuvuzela\nservers generate noise that perturbs this metadata so that it is difficult to\nexploit.\n\n\n## Acknowledgements\n\nThis code is written by David Lazar with contributions from\nJelle van den Hooff, Nickolai Zeldovich, and Matei Zaharia.\n\n\n## See also\n\n[Alpenhorn](https://github.com/vuvuzela/alpenhorn)\n\n[Vuvuzela web client](https://github.com/jlmart88/vuvuzela-web-client)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuvuzela%2Fvuvuzela","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvuvuzela%2Fvuvuzela","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuvuzela%2Fvuvuzela/lists"}