[{"data":1,"prerenderedAt":486},["ShallowReactive",2],{"project-28435613":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":34,"aspects":35,"strip":44,"post_text":46,"what":47,"said":71,"maker_in_thread":202,"shape":213,"grid":217,"attempts":447,"same_week":448,"maker_shows":335,"maker_hidden":478,"reader_version":479,"card":480},"28435613","Age 1.0","Simple, modern and secure file encryption","title","Show HN: Age 1.0 – Simple, modern and secure file encryption","https:\u002F\u002Fgithub.com\u002FFiloSottile\u002Fage\u002Freleases\u002Ftag\u002Fv1.0.0","github.com","FiloSottile",1630947234,2021,494,88,46,2533,2,"legend","security_privacy","file encryption","cli",[21,24,25,26],"gpg alternative","command line encryption","age encryption","curious",0.137,{"positive":30,"neutral":31,"mixed":32,"critical":33},13,30,3,8,54,{"idea":36,"design":38,"docs":40,"privacy":42,"execution":43},{"positive":32,"critical":37},0,{"positive":39,"critical":39},4,{"positive":41,"critical":41},1,{"positive":41,"critical":18},{"positive":41,"critical":37},[32,32,32,45,32,32,37,37,32,45,32,32,41,32,32,32,45,37,45,45,45,45,41,32,32,37,37,37,32,41,41,37,32,45,39,32,45,37,32,37],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":60,"openness":68,"stage":69,"team_size":70},{"value":49,"source":50,"evidence":51},"Simple, modern file encryption as a replacement for GPG","commenter",[52,56],{"id":53,"by":54,"text":55},"28436403","jph","Great work, thank you for sharing. I especially appreciate your link to your \"Goals\" section-- I'm listed them below because they are important and helpful IMHO. + An extremely…",{"id":57,"by":58,"text":59},"28436915","charles_f","One thing I miss and would imagine probably front and center of an encryption tool, is the algorithm(s) it's using to encrypt. There are multiple mentions of keys, but not the…",[61],{"value":62,"source":50,"evidence":63},"Go",[64],{"id":65,"by":66,"text":67},"28439432","ChrisMarshallNY","Really well-written code! I am not a Go expert, but I find it readable and comprehensible.","open_source","launched","unknown",{"praise":72,"objections":89,"requests":120,"questions":153,"alternatives":172},[73,85],{"value":74,"source":50,"evidence":75},"Simple CLI that composes well with UNIX pipes",[76,77,81],{"id":53,"by":54,"text":55},{"id":78,"by":79,"text":80},"28436489","twp","age has been an alternative plugin to gpg for transparent file encryption and decryption for the chezmoi dotfile manager for a couple of years now. age's CLI is so much nicer and…",{"id":82,"by":83,"text":84},"28440618","0x426577617265","I like age. I use it with wormhole for quick transfer jobs. Thanks for all the work on this!",{"value":86,"source":50,"evidence":87},"Clean, readable Go code",[88],{"id":65,"by":66,"text":67},[90,105,116],{"value":91,"source":50,"evidence":92},"Provides confidentiality but not integrity, so tampered files are not detected before output",[93,97,101],{"id":94,"by":95,"text":96},"28457765","voidmain","I think this is dangerous to use for many of the use cases that it would appear useful for, especially for any form of backups. By design, it protects the confidentiality of…",{"id":98,"by":99,"text":100},"28437434","fXmBeWm3TQ","calling this format \"secure\" is not sufficient, here is a review that asked the right questions. https:\u002F\u002Fneilmadden.blog\u002F2019\u002F12\u002F30\u002Fa-few-comments-on-age\u002F Unfortunately, the age…",{"id":102,"by":103,"text":104},"28437729","upofadown","It's for the case where you are concerned about malicious modification and the user is expected to not deal with the ramifications of the error message. This case in particular:…",{"value":106,"source":50,"evidence":107},"Key file handling lacks encrypted native key storage and default keychain",[108,112],{"id":109,"by":110,"text":111},"28436567","jchw","The main thing that confuses me with age so far is it feels like there's no way to have private keys that are automatically detected and also encrypted on disk. It seems to have…",{"id":113,"by":114,"text":115},"28439206","tialaramex","> age keys are application-specific keys, not universal personal identities. Not a courtesy you extended to SSH keys, choosing to instead re-use them for an unrelated purpose,…",{"value":117,"source":50,"evidence":118},"Threat model and security goals are not documented in the spec",[119],{"id":98,"by":99,"text":100},[121,131,139,146],{"value":122,"source":50,"evidence":123},"Hardware key support",[124,128],{"id":125,"by":126,"text":127},"28438011","aborsy","Good job! I much look forward to: hardware key support, password store, mount and integration with back up software (and perhaps rclone which is for data movement). I am pretty…",{"id":129,"by":126,"text":130},"28438170","Not OP, but I am missing: * password store (Pass) * hardware key support * back up software using Age (as with duplicity) * integration into operating systems (cross platform) *…",{"value":132,"source":50,"evidence":133},"Password store integration",[134,135],{"id":129,"by":126,"text":130},{"id":136,"by":137,"text":138},"28436935","balu_","I would love to see a password manager based on age. Idealy using ssh-keys beeing combinable with git",{"value":140,"source":50,"evidence":141},"Armored output by default",[142],{"id":143,"by":144,"text":145},"28439710","ghshephard","I absolutely love the idea of simple and beautiful. OpenSSL\u002FGPG are overwhelming in the knobs\u002Fdials. Couple thoughts that I'll never remember after my 5 minutes of using it but…",{"value":147,"source":50,"evidence":148},"A UI for age",[149],{"id":150,"by":151,"text":152},"28441791","julian37","Fantastic news. Does anyone know if there is a UI for it? I know this was discussed in the Dec 2019 thread but that's a while ago now.",[154,158,165],{"value":155,"source":50,"evidence":156},"What encryption algorithms does it use",[157],{"id":57,"by":58,"text":59},{"value":159,"source":50,"evidence":160},"How does AEAD work with seeking",[161],{"id":162,"by":163,"text":164},"28438279","Aachen","How do you do AEAD with seeking? Tags (MACs) every few kilobytes?",{"value":166,"source":50,"evidence":167},"Why use age instead of gpg",[168],{"id":169,"by":170,"text":171},"28448974","stilisstuk","I am not so clever and cryptography is hard. Why should I use age instead of regular gpg?",[173,181,188,195],{"value":174,"source":50,"evidence":175},"GPG",[176,180],{"id":177,"by":178,"text":179},"28437130","flurie","Has anyone managed to replace file encryption using gpg or sops with age for anything other than simple use cases? I realize age doesn't cover the breadth of scope of the other…",{"id":102,"by":103,"text":104},{"value":182,"source":50,"evidence":183},"sops",[184,185],{"id":177,"by":178,"text":179},{"id":186,"by":178,"text":187},"28439218","This is a great list. I also use sops because it has symmetric key support for a great many systems, allowing me to use gpg and aws kms for one set of secrets.",{"value":189,"source":50,"evidence":190},"minisign",[191],{"id":192,"by":193,"text":194},"28436741","danenania","A tangential question: is there an age equivalent du jour for signatures? For release signing and verification. I'm looking especially for end-user ease of installation. minisign…",{"value":196,"source":50,"evidence":197},"gopass",[198],{"id":199,"by":200,"text":201},"28439403","psanford","gopass already supports age: https:\u002F\u002Fgithub.com\u002Fgopasspw\u002Fgopass\u002Fblob\u002Fmaster\u002Fdocs\u002Fbackends\u002Fage.md",{"comments":45,"answered":32,"key":203},[204,207,210],{"id":205,"text":206},"28436630","We did eventually add support for encrypted native key files, despite my skepticism around what threat models it actually addresses. You can now pass to “age -d -i” a file…",{"id":208,"text":209},"28455523","Thank you for the friction log! This kind of feedback is extremely valuable! 1. It sounds like you were passing an identity file to --recipients-file. We do support using…",{"id":211,"text":212},"28439633","You can find them in the linked specification\u002Fdesign document, but I don’t really believe in putting cryptographic primitives front and center on user facing documentation.…",{"commenters":214,"max_depth":33,"maker_replies":45,"first_comment_mins":215,"lifespan_hours":216},56,79,85,[218,220,224,226,229,233,236,240,244,247,249,252,255,259,263,266,269,271,273,275,277,280,284,286,288,291,295,297,299,301,303,305,308,311,314,316,319,322,324,328,331,334,336,340,343,346,348,350,352,354,356,359,361,363,365,367,368,369,371,374,376,379,381,386,387,390,393,394,396,398,400,402,404,406,409,411,414,418,420,423,425,427,430,432,435,437,441,444],[53,37,45,219,54,37],"project\u002Fpositive\u002Fidea",[221,37,41,222,223,37],"28437535","project\u002Fcritical\u002Fdesign","masklinn",[162,37,32,225,163,37],"project\u002Fneutral\u002Fdesign",[227,37,32,225,228,37],"28438450","some_furry",[230,37,32,231,232,37],"28440777","project\u002Fneutral\u002Fdocs","technion",[234,37,32,225,235,37],"28442523","rdpintqogeogsaa",[237,37,45,238,239,37],"28441032","project\u002Fpositive\u002Fdesign","o8r3oFTZPE",[241,37,45,242,243,37],"28442165","project\u002Fpositive\u002Fnone","air7",[245,37,32,225,246,37],"28442301","unkulunkulu",[248,37,32,225,239,37],"28442712",[250,37,37,251,246,37],"28443605","commenter\u002Fneutral\u002Fnone",[253,37,41,222,254,37],"28445269","paledot",[256,41,45,257,258,37],"28439103","maker\u002Fpositive\u002Fnone","j1elo",[260,41,37,261,262,37],"28443041","other\u002Fneutral\u002Fnone","cpach",[264,18,37,261,265,37],"28436784","dang",[267,18,37,261,268,37],"28440413","anderspitman",[270,18,37,261,265,37],"28441182",[272,18,37,261,268,37],"28447028",[109,32,32,274,110,37],"project\u002Fneutral\u002Fprivacy",[205,32,37,276,11,41],"maker\u002Fneutral\u002Fprivacy",[278,32,45,279,110,37],"28436718","project\u002Fpositive\u002Fprivacy",[281,32,37,282,283,37],"28437991","commenter\u002Fneutral\u002Fprivacy","ricardobeat",[285,32,37,282,110,37],"28438477",[287,32,32,274,283,37],"28444918",[289,32,32,274,290,37],"28439363","xoa",[292,32,32,293,294,37],"28443833","project\u002Fneutral\u002Fnone","str4d",[113,32,41,296,114,37],"project\u002Fcritical\u002Fprivacy",[143,39,32,298,144,37],"project\u002Fmixed\u002Fexecution",[300,39,32,225,235,37],"28442557",[302,39,32,231,294,37],"28443944",[208,39,37,304,11,41],"maker\u002Fneutral\u002Fnone",[306,45,32,231,307,37],"28439012","SrslyJosh",[309,45,32,231,310,37],"28440354","Celeo",[312,45,32,293,313,37],"28441621","hanche",[57,315,32,274,58,37],6,[317,315,32,274,318,37],"28437196","ameliaquining",[320,315,45,238,321,37],"28441048","petre",[211,315,37,323,11,41],"maker\u002Fneutral\u002Fdocs",[325,315,37,326,327,37],"28439988","commenter\u002Fcritical\u002Fdocs","q-rews",[329,315,37,330,232,37],"28441508","commenter\u002Fneutral\u002Fdocs",[332,315,45,333,321,37],"28441069","project\u002Fpositive\u002Fdocs",[78,335,45,238,79,37],7,[337,335,32,338,339,37],"28437010","project\u002Fmixed\u002Fdesign","tyingq",[341,335,37,251,342,37],"28439004","a1369209993",[344,33,45,219,345,37],"28437572","jl6",[347,33,37,304,11,41],"28437658",[82,349,45,242,83,37],9,[177,351,32,293,178,37],10,[353,351,32,293,262,37],"28437366",[129,351,41,355,126,37],"project\u002Fcritical\u002Fnone",[357,351,32,293,358,37],"28438530","wolf550e",[360,351,32,274,103,37],"28439027",[362,351,37,276,11,41],"28439586",[364,351,37,282,103,37],"28443951",[366,351,32,274,294,37],"28447125",[186,351,37,261,178,37],[199,351,37,261,200,37],[192,370,37,261,193,37],11,[372,370,37,261,373,37],"28436761","tptacek",[375,370,37,261,193,37],"28436811",[377,370,37,251,378,37],"28436762","Tomte",[380,370,37,251,193,37],"28436785",[382,383,32,384,385,37],"28436903",12,"project\u002Fneutral\u002Fidea","lmeyerov",[94,30,41,222,95,37],[98,388,41,389,99,37],14,"project\u002Fcritical\u002Fdocs",[391,388,41,296,392,37],"28437532","est31",[102,388,41,222,103,37],[395,388,37,251,373,37],"28437925",[397,388,37,251,103,37],"28438022",[399,388,37,251,373,37],"28438050",[401,388,32,384,228,37],"28438158",[403,388,32,225,103,37],"28438212",[405,388,45,238,228,37],"28438380",[125,407,32,408,126,37],15,"project\u002Fmixed\u002Fnone",[410,407,32,293,313,37],"28441879",[65,412,45,413,66,37],16,"maker\u002Fpositive\u002Fexecution",[415,416,32,384,417,37],"28478270",17,"replwoacause",[150,419,32,225,151,37],18,[421,419,37,251,422,37],"28442706","SixDouble5321",[424,419,32,225,294,37],"28444054",[136,426,45,219,137,37],19,[428,426,37,261,429,37],"28437265","honko",[431,426,37,261,200,37],"28439396",[433,426,37,261,434,37],"28440486","0xdeadb00f",[169,436,32,384,170,37],20,[438,439,37,261,440,37],"28436662",21,"b8",[442,439,37,261,443,37],"28436878","arthurcolle",[445,439,37,261,446,37],"28437589","schmorptron",[],[449,454,459,464,469,474],{"id":450,"name":451,"points":452,"category":453},"28446147","Bonsai",1070,"dev_tools",{"id":455,"name":456,"points":457,"category":458},"28400446","Note Garden",268,"productivity",{"id":460,"name":461,"points":462,"category":463},"28451071","locserendipity.com",266,"creative",{"id":465,"name":466,"points":467,"category":468},"28389773","HN Badges",242,"consumer_social",{"id":470,"name":471,"points":472,"category":473},"28442022","Xirva",238,"learning_science",{"id":475,"name":476,"points":477,"category":473},"28421209","Relativity",204,false,"v2",{"id":481,"name":5,"line":6,"ai":478,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":482,"top":18,"kw":483,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":484,"url":9,"mix":485,"praise":74,"objection":91,"sub":21},28435613,0.14,[21,24,25,26],"3335330035331333505555133000311035435030",[30,31,32,33],1794036610952]