[{"data":1,"prerenderedAt":253},["ShallowReactive",2],{"project-3852649":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":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":43,"post_text":45,"what":46,"said":77,"maker_in_thread":148,"shape":156,"grid":159,"attempts":215,"same_week":216,"maker_shows":37,"maker_hidden":245,"reader_version":246,"card":247},"3852649","CryptPage","CryptPage, experiment in online publishing using client side encryption","title","Show HN: CryptPage, experiment in online publishing using client side encryption","https:\u002F\u002Fcryptpage.com\u002F","cryptpage.com","samwillis",1334672282,2012,16,25,1044,1677,63,"shown","web_saas","encrypted publishing","web_app",[24,21,25,26],"client-side encryption","markdown editor","url fragment key","mixed",-0.158,{"positive":30,"neutral":31,"mixed":30,"critical":32},1,7,6,15,{"privacy":35,"execution":38,"idea":39,"pricing":40,"design":41,"docs":42},{"positive":36,"critical":37},0,5,{"positive":36,"critical":36},{"positive":36,"critical":30},{"positive":36,"critical":36},{"positive":36,"critical":36},{"positive":30,"critical":36},[30,36,44,36,44,44,36,30,44,30,30,30,44,36,36,44,30,44,36,36,36,37,36,44,36],3,null,{"problem":47,"audience":45,"pricing":45,"motivation":57,"time_to_build":45,"stack":61,"openness":74,"stage":75,"team_size":76},{"value":48,"source":49,"evidence":50},"Lets users publish pages where the server cannot read content","maker",[51,54],{"id":52,"by":11,"text":53},"3852681","I have been working on this on and off for a couple of months and finally after seeing a similar idea submitted last week (http:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=3832269) I finished…",{"id":55,"by":11,"text":56},"3852958","Hi Thomas, thanks for the feedback, I was hoping you would turn up... Its very true, if someone broke into the server (or I was malicious) they could replace the js with code…",{"value":58,"source":49,"evidence":59},"Scratch an itch and learn new tools",[60],{"id":52,"by":11,"text":53},[62,68],{"value":63,"source":49,"evidence":64},"Django (server app)",[65],{"id":66,"by":11,"text":67},"3852975","Oops, that was a previous name I was working under. Its actually what the underlying django app on the server is called... Fixing it now.",{"value":69,"source":49,"evidence":70},"JavaScript AES-CTR from movable-type.co.uk",[71],{"id":72,"by":11,"text":73},"3853006","Its the one from http:\u002F\u002Fwww.movable-type.co.uk\u002Fscripts\u002Faes.html I am considering moving to the http:\u002F\u002Fcode.google.com\u002Fp\u002Fcrypto-js\u002F version as I'm not sure that it is currently…","unknown","launched","solo",{"praise":78,"objections":91,"requests":112,"questions":120,"alternatives":134},[79],{"value":80,"source":81,"evidence":82},"Nice implementation and well done","commenter",[83,87],{"id":84,"by":85,"text":86},"3852779","switz","Saw the same idea submitted on HN last week. Nice implementation. Note – you have a misspelling > TIP: You can link to other _CpyptPage_ documents and as the URL is encrypted…",{"id":88,"by":89,"text":90},"3852804","pfraze","Well done. I kind of doubt you can monetize this app on its own (famous last words) but you can certainly gain cred for popularizing the technique.",[92,103],{"value":93,"source":81,"evidence":94},"Security depends on server not serving malicious JavaScript",[95,99],{"id":96,"by":97,"text":98},"3852876","tptacek","This has some basic crypto issues, but that doesn't matter much because like the related \"server proof\" web crypto apps, all the security of this system depends on the server not…",{"id":100,"by":101,"text":102},"3852974","CodeMage","just write the Mozilla and Chrome extensions to expose a C implementation of PGP\u002FGPG to Javascript? Would that really help? The same hypothetical malicious server admin could…",{"value":104,"source":81,"evidence":105},"URL fragment is a poor place for keys",[106,109],{"id":107,"by":97,"text":108},"3852891","The URL fragment identifier seems like exactly the last place you'd want to stick a crypto key, in that it's displayed in the URL bar and in no way protected by the browser.",{"id":110,"by":97,"text":111},"3853004","I have no idea what this appeal to authority is supposed to mean in this particular context. If Zooko is bookmarking crypto keys, he too is doing something dumb. The URL fragment…",[113],{"value":114,"source":81,"evidence":115},"Prompt for decryption key when missing from hash",[116],{"id":117,"by":118,"text":119},"3852921","clarkmoody","It would be nice for a box to pop up if the key is not detected in the hash, asking for the decryption key (and password if that's set). That way, you enable two types of users:…",[121,127],{"value":122,"source":81,"evidence":123},"Where the AES CTR implementation came from",[124],{"id":125,"by":97,"text":126},"3852965","Random question: where did this particularly implementation of CTR mode come from?",{"value":128,"source":81,"evidence":129},"Whether the fragment leaks via referrer",[130],{"id":131,"by":132,"text":133},"3852992","Zikes","When the URL is linked, wouldn't the fragment be sent as a referrer when loading page resources?",[135,142],{"value":136,"source":81,"evidence":137},"OpenPGP.js",[138],{"id":139,"by":140,"text":141},"3852978","grepular","http:\u002F\u002Fopenpgpjs.org\u002F is an interesting and related project to keep an eye on. Obviously, if it is delivered from a server and run in a client, you can't trust it. I can imagine…",{"value":143,"source":81,"evidence":144},"HushMail",[145],{"id":146,"by":140,"text":147},"3853008","This is how HushMail works for email. Except they can be (and have been) compelled to send backdoored code to individual end-users in order to access their users keys and hand…",{"comments":32,"answered":149,"key":150},2,[151,152,153],{"id":55,"text":56},{"id":72,"text":73},{"id":154,"text":155},"3853025","Exactly, its not included in the referrer header, only the resource location is.",{"commenters":157,"max_depth":37,"maker_replies":32,"first_comment_mins":32,"lifespan_hours":158},12,4,[160,162,164,166,167,169,172,174,175,177,180,181,184,187,189,191,193,194,196,200,202,205,207,210,214],[96,36,30,161,97,36],"project\u002Fcritical\u002Fprivacy",[55,36,36,163,11,30],"maker\u002Fneutral\u002Fidea",[125,36,44,165,97,36],"project\u002Fneutral\u002Fexecution",[72,36,36,165,11,30],[131,36,44,168,132,36],"project\u002Fneutral\u002Fprivacy",[170,36,44,168,171,36],"3853016","phpnode",[154,36,36,173,11,30],"maker\u002Fneutral\u002Fprivacy",[100,36,30,161,101,36],[176,36,44,168,140,36],"3852995",[178,36,30,179,171,36],"3852976","project\u002Fcritical\u002Fidea",[146,36,30,161,140,36],[182,36,30,161,183,36],"3853012","riffraff",[185,36,44,186,171,36],"3853050","project\u002Fneutral\u002Fidea",[139,36,36,188,140,36],"other\u002Fneutral\u002Fnone",[52,30,36,190,11,30],"project\u002Fpositive\u002Fidea",[88,30,44,192,89,36],"project\u002Fmixed\u002Fpricing",[107,30,30,161,97,36],[117,30,44,195,118,36],"project\u002Fneutral\u002Fdesign",[197,30,36,198,199,36],"3852969","commenter\u002Fneutral\u002Fprivacy","pwpwp",[110,30,36,201,97,36],"commenter\u002Fcritical\u002Fprivacy",[203,30,36,204,97,36],"3854115","commenter\u002Fneutral\u002Fnone",[84,149,37,206,85,36],"project\u002Fpositive\u002Fdocs",[208,149,36,209,11,30],"3852785","maker\u002Fneutral\u002Fdocs",[211,149,44,212,213,36],"3852925","project\u002Fneutral\u002Fdocs","xorbyte",[66,149,36,209,11,30],[],[217,222,227,232,237,242],{"id":218,"name":219,"points":220,"category":221},"3832877","Firebase",526,"infrastructure",{"id":223,"name":224,"points":225,"category":226},"3841370","Rails One Click",92,"dev_tools",{"id":228,"name":229,"points":230,"category":231},"3838516","Word Wars",61,"productivity",{"id":233,"name":234,"points":235,"category":236},"3844235","Puppy Showdown",59,"consumer_social",{"id":238,"name":239,"points":240,"category":241},"3833393","Microryza",58,"learning_science",{"id":243,"name":244,"points":240,"category":226},"3834643","Shortly",false,"v2",{"id":248,"name":5,"line":6,"ai":245,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":249,"top":18,"kw":250,"maker":11,"domain":10,"tier":19,"attempts":36,"strip":251,"url":9,"mix":252,"praise":80,"objection":93,"sub":21},3852649,-0.16,[24,21,25,26],"1030330131113003130005030",[30,31,30,32],1793990880503]