[{"data":1,"prerenderedAt":411},["ShallowReactive",2],{"project-48766242":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":48,"what":49,"said":96,"maker_in_thread":238,"shape":249,"grid":253,"attempts":372,"same_week":373,"maker_shows":39,"maker_hidden":403,"reader_version":404,"card":405},"48766242","Bramble","Local-first password manager","title","Show HN: Bramble – Local-first password manager","https:\u002F\u002Fgithub.com\u002Fflythenimbus\u002Fbramble","github.com","MegagramEnjoyer",1783020598,2026,153,50,425,4366,10,"notable","security_privacy","password manager","browser_extension",[21,24,25,26,27],"local-first","p2p sync","open source password manager","passkey storage","curious",-0.053,{"positive":31,"neutral":32,"mixed":33,"critical":34},6,14,0,8,28,{"idea":37,"privacy":40,"pricing":42,"execution":43,"design":45},{"positive":38,"critical":39},5,1,{"positive":33,"critical":41},2,{"positive":33,"critical":39},{"positive":33,"critical":44},4,{"positive":33,"critical":33},[33,33,47,38,39,38,47,33,47,39,38,39,33,38,47,33,47,47,33,47,33,47,33,47,47,47,33,38,39,39,33,47,33,47,33,33,39,39,47,33],3,"I'm currently working on Bramble, an open source password manager with P2P cross-device sync. Initially I released the Chrome extension, but recently I also published the Android app and iOS is pending Apple's approval. Besides that, the latest version also includes passkey storage for all platforms!\n\nAbout Bramble:\n\nIt aims to be as feature-rich as all popular and a replacement for cloud-based providers. I don't think we need to store our data in the cloud and be at the whims of companies raising their prices every year. There's always a breach and then we find out that some fields aren't enc",{"problem":50,"audience":56,"pricing":63,"motivation":67,"time_to_build":71,"stack":72,"openness":93,"stage":94,"team_size":95},{"value":51,"source":52,"evidence":53},"Cloud password managers expose data in breaches and raise prices; users want local storage with sync","maker",[54],{"id":55},"post",{"value":57,"source":52,"evidence":58},"Privacy-focused users and the OSS community, including the maker's family",[59,60],{"id":55},{"id":61,"by":11,"text":62},"48768165","Fair enough. I like staying pseudonymous on the internet, but I also understand where you're coming from. My name is Doug, based in Toronto, Canada. I've been a software engineer…",{"value":64,"source":52,"evidence":65},"Free; maker may add a paid business version with cloud storage later",[66],{"id":61,"by":11,"text":62},{"value":68,"source":52,"evidence":69},"Distrust of venture-funded companies and cloud breaches; wants transparent, sovereign password storage",[70],{"id":55},null,[73,77,81,85,89],{"value":74,"source":52,"evidence":75},"Rust",[76],{"id":55},{"value":78,"source":52,"evidence":79},"WebAssembly (Chromium)",[80],{"id":55},{"value":82,"source":52,"evidence":83},"uniffi native mobile bridge",[84],{"id":55},{"value":86,"source":52,"evidence":87},"Nostr relays for peer introduction",[88],{"id":55},{"value":90,"source":52,"evidence":91},"WebRTC",[92],{"id":55},"open_source","launched","solo",{"praise":97,"objections":125,"requests":165,"questions":185,"alternatives":214},[98,114],{"value":99,"source":100,"evidence":101},"Local-first approach is appealing","commenter",[102,106,110],{"id":103,"by":104,"text":105},"48769902","mune2gu-chan","Really clean concept. Keeping everything entirely on-disk instead of relying on a third-party cloud is something I've been wanting to see more of.",{"id":107,"by":108,"text":109},"48783322","yr_animesh","Awesome stuff mate!! gonna try it.. The king feature is that it is local first I have also built a local first tool to manage big codebase and visualize it using AST and not…",{"id":111,"by":112,"text":113},"48819869","lapiece_","We will never have enough local opensource password manager so keep it up",{"value":115,"source":100,"evidence":116},"P2P sync over a private Nostr relay is a clever approach",[117,121],{"id":118,"by":119,"text":120},"48779255","catapart","This looks like something I've been looking for! Excited to give it a try! I don't even use a package manager because of the things you've seemed to work around here. It's been…",{"id":122,"by":123,"text":124},"48782244","ind-igo","This is really awesome. I've long wanted something like this, especially the local first with p2p sync. Why did you choose nostr over direct p2p with iroh which has dumb relay as…",[126,137,148,154],{"value":127,"source":100,"evidence":128},"Autofill and credit card form support unproven versus 1Password",[129,133],{"id":130,"by":131,"text":132},"48768712","jdkaiwei","How's support for credit card form entries? That's the one thing that makes me miss 1Password as a current keepass user and will make me move over.",{"id":134,"by":135,"text":136},"48780183","commandersaki","How does it handle browser autofill. What if you have to fill in a box that has a non-standard label? These are things I rely on with 1Password.",{"value":138,"source":100,"evidence":139},"Data loss risk from last-writer-wins sync and no merge conflict handling",[140,144],{"id":141,"by":142,"text":143},"48779380","jjnoakes","Last writer wins may be sufficient for some folks but for me, any potential data loss in an app like this is a deal breaker. I hope you'll consider some kind of merge conflict…",{"id":145,"by":146,"text":147},"48779824","cicko","This deserves a bit more explanation (sorry, on the phone, can't look at the code in the next couple of days). So, if I change the password and update it on the phone, then add a…",{"value":149,"source":100,"evidence":150},"No iOS release yet",[151],{"id":152,"by":135,"text":153},"48782834","Ah just realised no iOS release, that's a non-starter.",{"value":155,"source":100,"evidence":156},"Local-only storage loses the convenience of a central server and backups",[157,161],{"id":158,"by":159,"text":160},"48781062","tamimio","It’s nice to always have more options but I don’t want it to be local, I lose the centralized system and having multiple devices syncing the pass database, or a turned off…",{"id":162,"by":163,"text":164},"48790956","ngsevers","Is there a recovery path, like an encrypted export or recovery file; say phone stolen, laptop dies, etc.., or is the vault only as durable as my most reliable device?",[166,174,181],{"value":167,"source":100,"evidence":168},"Recovery and backup path for lost devices",[169,173],{"id":170,"by":171,"text":172},"48797277","Aaron_NW","I think you are going to run into a lot of anxiety about data loss. I did find the recovery code and peer to peer sync notes, which help. Most people are not going to think…",{"id":162,"by":163,"text":164},{"value":175,"source":100,"evidence":176},"Screenshots",[177],{"id":178,"by":179,"text":180},"48786371","rkagerer","Screenshots?",{"value":182,"source":100,"evidence":183},"Merge conflict surfacing",[184],{"id":141,"by":142,"text":143},[186,197,204],{"value":187,"source":100,"evidence":188},"How does it compare to KeePass and Vaultwarden",[189,193],{"id":190,"by":191,"text":192},"48780919","ZenoArrow","What does this offer over other local-first password managers? For example, there are a fair few Android\u002FiOS apps based on KeePass (I currently use https:\u002F\u002Fwww.keepassdx.com on…",{"id":194,"by":195,"text":196},"48770370","shaunkoh","Congrats! How’s it compare vs self-hosted vaultwarden?",{"value":198,"source":100,"evidence":199},"How much of the code is vibe-coded",[200],{"id":201,"by":202,"text":203},"48785213","bronlund","So how much of this is vibe-coded?",{"value":205,"source":100,"evidence":206},"Why build a custom sync engine instead of existing libraries",[207,211],{"id":208,"by":209,"text":210},"48769198","keepupnow","You built your own sync engine? Why?",{"id":212,"by":11,"text":213},"48775733","if you mean why I didn't choose a lib like automerge, yjs and instead handrolled it - that's because these libs are geared towards plaintext. Bramble's sync is built around its…",[215,223,227,231],{"value":216,"source":100,"evidence":217},"KeePass \u002F KeePassXC \u002F KeePassDX",[218,219],{"id":190,"by":191,"text":192},{"id":220,"by":221,"text":222},"48791827","HN-user2345","i think this is a great Idea but it doesnt beat any of the other free password managers like keepass.. I support this Idea tho and ill check on it to see where youve gotten! i…",{"value":224,"source":100,"evidence":225},"Vaultwarden",[226],{"id":194,"by":195,"text":196},{"value":228,"source":100,"evidence":229},"1Password",[230],{"id":130,"by":131,"text":132},{"value":232,"source":100,"evidence":233},"Bitwarden",[234],{"id":235,"by":236,"text":237},"48806023","Saris","The Keepass options for browser autofill are pretty rough, and don't work with flatpak installed apps either. Keepass also can't match URLs with Regex which is something I make…",{"comments":239,"answered":240,"key":241},15,9,[242,245,246],{"id":243,"text":244},"48775788","Thanks for sharing! And I fully agree with you. The convenience that cloud providers bring is hard to match sometimes, but the tools exist to make it happen. I'll check out your…",{"id":61,"text":62},{"id":247,"text":248},"48775453","It exists and is thoroughly tested for common cases, but there might be tricky form shapes that haven't been covered. Give it a try and if you find anything, I'll prioritize…",{"commenters":250,"max_depth":44,"maker_replies":239,"first_comment_mins":251,"lifespan_hours":252},30,130,117,[254,258,260,262,266,267,269,270,274,275,277,279,282,286,288,291,294,296,298,300,302,305,307,308,310,312,317,319,322,324,326,329,332,334,336,339,344,347,349,351,353,357,360,361,362,363,366,369],[255,33,33,256,257,33],"48770360","commenter\u002Fneutral\u002Fidea","tmpfs",[243,33,33,259,11,39],"commenter\u002Fpositive\u002Fidea",[190,39,47,261,191,33],"project\u002Fneutral\u002Fidea",[263,39,38,264,265,33],"48782487","project\u002Fpositive\u002Fidea","mieses",[235,39,33,256,236,33],[220,41,39,268,221,33],"project\u002Fcritical\u002Fprivacy",[118,47,38,264,119,33],[271,44,47,272,273,33],"48767728","maker\u002Fneutral\u002Fnone","hoistbypetard",[61,44,33,272,11,39],[130,44,47,276,131,33],"project\u002Fneutral\u002Fpricing",[247,44,33,278,11,39],"maker\u002Fpositive\u002Fexecution",[280,44,39,268,281,33],"48801119","sandeepkd",[283,44,38,284,285,33],"48818577","maker\u002Fpositive\u002Fnone","Amir6",[170,38,39,287,171,33],"project\u002Fcritical\u002Fexecution",[289,38,33,290,11,39],"48798438","maker\u002Fpositive\u002Fdocs",[292,38,38,293,171,33],"48800504","maker\u002Fpositive\u002Fidea",[158,31,39,295,159,33],"project\u002Fcritical\u002Fidea",[103,297,38,264,104,33],7,[299,297,33,256,11,39],"48775760",[194,34,47,301,195,33],"project\u002Fneutral\u002Fnone",[303,240,47,261,304,33],"48780719","kevinak",[306,240,33,261,11,39],"48790676",[122,18,47,261,123,33],[162,309,47,261,163,33],11,[311,309,33,261,11,39],"48798428",[313,314,47,315,316,33],"48787449",12,"project\u002Fneutral\u002Fprivacy","VaradD09",[318,314,33,315,11,39],"48808766",[320,321,47,272,209,33],"48769188",13,[323,321,33,272,11,39],"48775643",[134,32,47,325,135,33],"project\u002Fneutral\u002Fexecution",[327,239,47,315,328,33],"48776884","banderberg",[330,239,33,331,11,39],"48779231","maker\u002Fneutral\u002Fdocs",[111,333,38,264,112,33],16,[152,335,39,287,135,33],17,[337,335,33,338,11,39],"48785806","maker\u002Fneutral\u002Fexecution",[340,341,39,342,343,33],"48780834",18,"project\u002Fcritical\u002Fpricing","bix6",[345,341,33,346,11,39],"48785816","maker\u002Fneutral\u002Fpricing",[201,348,47,338,202,33],19,[350,348,33,338,11,39],"48808820",[208,352,47,338,209,33],20,[354,352,33,355,356,33],"48771576","other\u002Fneutral\u002Fexecution","ramon156",[358,352,33,359,209,33],"48774784","other\u002Fcritical\u002Fexecution",[212,352,33,338,11,39],[141,352,39,287,142,33],[145,352,39,287,146,33],[178,364,47,365,179,33],21,"maker\u002Fneutral\u002Fdesign",[367,364,33,368,11,39],"48799470","maker\u002Fpositive\u002Fdesign",[107,370,33,371,108,33],22,"commenter\u002Fneutral\u002Fnone",[],[374,379,383,388,393,398],{"id":375,"name":376,"points":377,"category":378},"48821848","Davit",389,"dev_tools",{"id":380,"name":381,"points":382,"category":378},"48834924","Microsoft releases Flint",350,{"id":384,"name":385,"points":386,"category":387},"48816987","Yamanote.fun",238,"creative",{"id":389,"name":390,"points":391,"category":392},"48798153","Homegames",229,"games",{"id":394,"name":395,"points":396,"category":397},"48819808","Rowboat",219,"productivity",{"id":399,"name":400,"points":401,"category":402},"48786455","Follow London Trains in 3D",156,"consumer_social",false,"v2",{"id":406,"name":5,"line":6,"ai":403,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":407,"top":18,"kw":408,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":409,"url":9,"mix":410,"praise":99,"objection":127,"sub":21},48766242,-0.05,[21,24,25,26,27],"0035153031510530330303033305110303001130",[31,32,33,34],1794036704111]