[{"data":1,"prerenderedAt":461},["ShallowReactive",2],{"project-25059133":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":45,"post_text":47,"what":48,"said":107,"maker_in_thread":210,"shape":221,"grid":225,"attempts":424,"same_week":425,"maker_shows":34,"maker_hidden":453,"reader_version":454,"card":455},"25059133","Etebase","An open source and end-to-end encrypted Firebase alternative","title","Show HN: Etebase – An open source and end-to-end encrypted Firebase alternative","https:\u002F\u002Fwww.etebase.com\u002F?r=hn","etebase.com","tasn",1605108579,2020,308,80,131,3028,5,"legend","dev_tools","backend sdk for encrypted apps","library",[24,25,26,27],"end-to-end encryption","firebase alternative","encrypted backend","open source sdk","curious",0.237,{"positive":31,"neutral":32,"mixed":33,"critical":34},15,19,0,4,38,{"design":37,"idea":40,"privacy":42,"pricing":43,"docs":44},{"positive":38,"critical":39},1,2,{"positive":41,"critical":38},6,{"positive":38,"critical":33},{"positive":38,"critical":38},{"positive":33,"critical":33},[46,18,18,46,33,46,18,18,33,33,33,33,38,33,46,18,18,18,18,33,46,46,18,38,46,18,18,46,46,46,46,46,46,18,46,38,18,46,38,46],3,null,{"problem":49,"audience":56,"pricing":60,"motivation":69,"time_to_build":47,"stack":73,"openness":104,"stage":105,"team_size":106},{"value":50,"source":51,"evidence":52},"Developers struggle to build encrypted apps correctly; Firebase-style APIs lack end-to-end encryption","maker",[53],{"id":54,"by":11,"text":55},"25059194","Excited to finally post it on HN. It's something I've been working on for the last year, though in a sense, for much longer! Etebase is an open-source SDK and…",{"value":57,"source":51,"evidence":58},"Developers building end-to-end encrypted applications",[59],{"id":54,"by":11,"text":55},{"value":61,"source":51,"evidence":62},"Hosted service offered at etebase.com; self-hosting free",[63,66],{"id":64,"by":11,"text":65},"25063258","You don't have to self-host Etebase, you can also use the hosted version on etebase.com if you wish. However, what we are offering here is an alternative to the Firebase APIs,…",{"id":67,"by":11,"text":68},"25068550","Oops, fixed. Thanks! Make money: hosting the service, yeah. Though also from our user facing apps. Production ready: yeah. We use it for EteSync (our user facing apps), and…",{"value":70,"source":51,"evidence":71},"Make it easy for developers to build privacy-first encrypted applications",[72],{"id":54,"by":11,"text":55},[74,78,82,86,90,94,98],{"value":75,"source":51,"evidence":76},"Rust",[77],{"id":54,"by":11,"text":55},{"value":79,"source":51,"evidence":80},"JavaScript\u002FTypeScript",[81],{"id":54,"by":11,"text":55},{"value":83,"source":51,"evidence":84},"Java",[85],{"id":54,"by":11,"text":55},{"value":87,"source":51,"evidence":88},"Python",[89],{"id":54,"by":11,"text":55},{"value":91,"source":51,"evidence":92},"C\u002FC++",[93],{"id":54,"by":11,"text":55},{"value":95,"source":51,"evidence":96},"libsodium",[97],{"id":54,"by":11,"text":55},{"value":99,"source":51,"evidence":100},"Argon2id",[101],{"id":102,"by":11,"text":103},"25062613","We are working on providing a formal spec, but the gist of it is already documented here: https:\u002F\u002Fdocs.etebase.com\u002Fprotocol-specs\u002Fauthentication A secure encryption key is…","open_source","launched","company",{"praise":108,"objections":124,"requests":143,"questions":158,"alternatives":173},[109,117],{"value":110,"source":111,"evidence":112},"Wide client SDK support","commenter",[113],{"id":114,"by":115,"text":116},"25071527","speby","This looks really good and I can tell a lot of work went into this. Bravo. Although this does not yet have the same sort of real-time push syncing (or subscriptions) the way…",{"value":118,"source":111,"evidence":119},"Good fit for privacy-focused apps and EU data transfer concerns",[120],{"id":121,"by":122,"text":123},"25064648","g_p","This might be very good timing for your product - the European Data Protection Board has just out their first guidance after the Schrems II case. It seems to firmly point towards…",[125,136],{"value":126,"source":111,"evidence":127},"Missing quotas, migrations and local cache handling",[128,132],{"id":129,"by":130,"text":131},"25063863","bastawhiz","This is neat, but it seems like it's missing a few things. For one, how do you do migrations? Do I need to include every migration in my application bundle in perpetuity, running…",{"id":133,"by":134,"text":135},"25070989","jmnicolas","After reading the docs I have a couple more questions: - there's the notion of a local cache but is it synced \u002F de-duped automatically or is it something I still have to do?…",{"value":137,"source":111,"evidence":138},"Hard to sell encryption to customers",[139],{"id":140,"by":141,"text":142},"25062230","joel_dice","Nice work! I spent about six months pursuing the exact same idea about five years ago with the hope of building a company around it. I got reasonably far with a prototype, but…",[144,151],{"value":145,"source":111,"evidence":146},"Flutter\u002FDart package",[147],{"id":148,"by":149,"text":150},"25065576","krimpenrik","Awesome, I'll give it a test drive. Probably will be good for adoption to have a dart \u002F flutter package.",{"value":152,"source":111,"evidence":153},"Range query support via order-preserving indices",[154],{"id":155,"by":156,"text":157},"25062120","slooonz","Is there any technical document describing how it works ? For example, order-preserving indices (for range queries) are often an issue in end-to-end databases ; did your design…",[159,166],{"value":160,"source":111,"evidence":161},"How key management and password recovery work",[162],{"id":163,"by":164,"text":165},"25062399","snissn","can you explain key management? is it via the user's password? what happens if passwords are lost or changed?",{"value":167,"source":111,"evidence":168},"How sharing between users works",[169],{"id":170,"by":171,"text":172},"25062853","LoSboccacc","interesting how can user share data with each other?",[174,182,189,196,203],{"value":175,"source":111,"evidence":176},"Firebase",[177,178],{"id":54,"by":11,"text":55},{"id":179,"by":180,"text":181},"25068482","habosa","Firebaser here! Just want to say this is (in my personal opinion) pretty cool and even though it's the \"competition\" you're doing something unique and we'll take the comparison…",{"value":183,"source":111,"evidence":184},"Supabase",[185],{"id":186,"by":187,"text":188},"25071545","thelazydogsback","How does this compare to https:\u002F\u002Fsupabase.io\u002F ?",{"value":190,"source":111,"evidence":191},"Userbase",[192],{"id":193,"by":194,"text":195},"25062873","ignoramous","This looks great and has a very comprehensive set of libraries. Nice bit of competition for https:\u002F\u002Fuserbase.com\u002F (though their focus is mostly \"Serverless\" and the Web).",{"value":197,"source":111,"evidence":198},"Firecrypt",[199],{"id":200,"by":201,"text":202},"25067913","piotrkaminski","Since the pitch keeps referring to Firebase, I thought I might as well mention this here: a while ago I built an encryption layer for the Firebase RTDB at…",{"value":204,"source":111,"evidence":205},"Firefox Sync",[206],{"id":207,"by":208,"text":209},"25066018","fabrice_d","Just curious, how does that differ from a system like Firefox sync which is also using client side encryption?",{"comments":211,"answered":212,"key":213},31,18,[214,215,218],{"id":54,"text":55},{"id":216,"text":217},"25062228","There are docs here: https:\u002F\u002Fdocs.etebase.com\u002F Though they mostly focus on how to use rather than how it works (though we are making progress on that section). As for your…",{"id":219,"text":220},"25062653","Thanks a lot! Things have indeed changed, and I feel like the public is really starting to understand the dangers with having their data exposed. I've been running EteSync for…",{"commenters":222,"max_depth":223,"maker_replies":211,"first_comment_mins":223,"lifespan_hours":224},39,7,124,[226,228,230,231,232,234,235,237,241,244,247,249,250,252,256,259,263,265,269,271,274,276,279,282,284,287,289,292,294,298,300,301,303,306,308,312,314,317,320,322,324,327,329,333,335,340,342,345,348,350,352,354,357,359,361,363,365,366,368,370,374,376,378,379,381,383,387,389,391,394,396,400,401,403,407,409,412,415,418,422],[54,33,33,227,11,38],"project\u002Fpositive\u002Fidea",[155,33,46,229,156,33],"project\u002Fneutral\u002Fdesign",[216,33,33,229,11,38],[140,33,18,227,141,33],[219,33,33,233,11,38],"maker\u002Fpositive\u002Fnone",[121,33,18,227,122,33],[236,33,33,233,11,38],"25083033",[238,33,46,239,240,33],"25063755","project\u002Fneutral\u002Fidea","ChrisMarshallNY",[242,33,33,243,11,38],"25064125","project\u002Fpositive\u002Fprivacy",[245,33,33,246,240,33],"25064185","commenter\u002Fneutral\u002Fprivacy",[248,33,33,229,11,38],"25064203",[207,33,46,239,208,33],[251,33,33,227,11,38],"25067306",[253,33,18,254,255,33],"25063796","project\u002Fpositive\u002Fnone","Tepix",[257,33,18,254,258,33],"25067928","fakedang",[260,38,46,261,262,33],"25061873","project\u002Fneutral\u002Fnone","rathboma",[264,38,33,254,11,38],"25061903",[266,38,33,267,268,33],"25062212","other\u002Fneutral\u002Fnone","nbclark",[270,38,33,267,262,33],"25062256",[272,38,33,267,273,33],"25063714","indymike",[275,38,33,267,134,33],"25068050",[277,38,33,267,278,33],"25063297","sali0",[280,38,33,267,281,33],"25063785","Already__Taken",[283,38,33,267,262,33],"25115658",[285,38,33,267,286,33],"25067566","disqard",[129,39,38,288,130,33],"project\u002Fcritical\u002Fdesign",[290,39,33,291,11,38],"25063929","project\u002Fneutral\u002Fperformance",[200,46,33,293,201,33],"other\u002Fneutral\u002Fidea",[295,46,46,296,297,33],"25107231","project\u002Fneutral\u002Fprivacy","boaticus",[299,46,46,296,201,33],"25107291",[193,34,18,227,194,33],[302,34,33,239,11,38],"25062944",[304,18,18,227,305,33],"25061686","Aachen",[307,18,33,227,11,38],"25061712",[309,18,18,310,311,33],"25061917","maker\u002Fpositive\u002Fidea","blazeWayne",[313,18,33,233,11,38],"25061954",[315,18,18,243,316,33],"25062607","mnahkies",[318,18,33,319,11,38],"25062817","project\u002Fneutral\u002Fdocs",[179,41,33,321,180,33],"other\u002Fpositive\u002Fnone",[323,41,33,261,11,38],"25068563",[325,223,46,239,326,33],"25068337","vekker",[328,223,33,239,11,38],"25068461",[330,331,46,229,332,33],"25062458",8,"codethief",[334,331,33,239,11,38],"25062558",[336,337,18,338,339,33],"25063386",9,"project\u002Fpositive\u002Fpricing","aitchnyu",[341,337,33,338,11,38],"25063400",[343,337,38,344,339,33],"25068718","project\u002Fcritical\u002Fpricing",[346,337,33,347,11,38],"25068745","project\u002Fneutral\u002Fpricing",[133,349,46,229,134,33],10,[351,349,33,229,11,38],"25071097",[353,349,18,233,134,33],"25071162",[114,355,18,356,115,33],11,"project\u002Fpositive\u002Fdesign",[358,355,33,233,11,38],"25071673",[148,360,18,254,149,33],12,[362,360,33,261,11,38],"25067329",[163,364,46,296,164,33],13,[102,364,33,296,11,38],[367,364,46,296,208,33],"25062721",[369,364,33,229,11,38],"25062995",[371,372,46,239,373,33],"25065279",14,"Ali_Jiwani",[375,372,33,239,11,38],"25067475",[377,31,46,261,134,33],"25068145",[67,31,33,254,11,38],[186,380,46,239,187,33],16,[382,380,33,227,11,38],"25071626",[384,385,46,319,386,33],"25065060",17,"z5h",[388,385,33,319,11,38],"25067349",[390,385,18,233,386,33],"25088063",[392,212,46,229,393,33],"25066815","WolfOliver",[395,212,33,229,11,38],"25067322",[397,32,38,398,399,33],"25063209","project\u002Fcritical\u002Fidea","TruthWillHurt",[64,32,33,239,11,38],[402,32,18,227,273,33],"25063765",[404,405,18,254,406,33],"25067279",20,"nathias",[170,408,46,229,171,33],21,[410,408,46,229,411,33],"25062895","alexh1",[413,408,33,414,11,38],"25062968","maker\u002Fneutral\u002Fnone",[416,408,38,288,417,33],"25065931","gwking",[419,408,46,420,421,33],"25077602","maker\u002Fneutral\u002Fdesign","alex_portabella",[423,408,33,229,11,38],"25062963",[],[426,431,436,440,444,449],{"id":427,"name":428,"points":429,"category":430},"25059554","22120",537,"infrastructure",{"id":432,"name":433,"points":434,"category":435},"25013863","Please-unsubscribe.com",218,"productivity",{"id":437,"name":438,"points":439,"category":435},"25023502","Baller ToDo",161,{"id":441,"name":442,"points":443,"category":435},"25058821","The Least Dangerous To-Do List",141,{"id":445,"name":446,"points":447,"category":448},"25004554","Sir",115,"data",{"id":450,"name":451,"points":452,"category":20},"25059296","Config.ly",106,false,"v2",{"id":456,"name":5,"line":6,"ai":453,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":457,"top":18,"kw":458,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":459,"url":9,"mix":460,"praise":110,"objection":126,"sub":21},25059133,0.24,[24,25,26,27],"3553035500001035555033513553333335315313",[31,32,33,34],1794036598289]