[{"data":1,"prerenderedAt":97},["ShallowReactive",2],{"maker-CiPHPerCoder":3},[4,32,55,74],{"id":5,"name":6,"line":7,"ai":8,"cat":9,"year":10,"points":11,"comments":12,"rec":13,"s":14,"top":15,"kw":16,"maker":21,"domain":22,"tier":23,"attempts":24,"strip":25,"url":26,"mix":27,"praise":30,"objection":31,"sub":19},11374028,"Airship","A modern and secure CMS written in PHP 7 (1st Beta)",false,"web_saas",2016,4,8,"quiet",null,95,[17,18,19,20],"php cms","secure cms","content management system","self-updating cms","CiPHPerCoder","paragonie.com","shown",3,"50101010","https:\u002F\u002Fparagonie.com\u002Fproject\u002Fairship",[28,29,29,24],1,0,"Security-first approach","Visual design looks unpolished",{"id":33,"name":34,"line":35,"ai":8,"cat":36,"year":10,"points":37,"comments":38,"rec":39,"s":40,"top":41,"kw":42,"maker":21,"domain":47,"tier":23,"attempts":24,"strip":48,"url":49,"mix":50,"praise":52,"objection":53,"sub":54},12111322,"Halite","A simple libsodium wrapper for PHP projects","security_privacy",43,10,"roasted",-0.08,37,[43,44,45,46],"libsodium","php encryption","php cryptography","symmetric encryption","github.com","5051010010","https:\u002F\u002Fgithub.com\u002Fparagonie\u002Fhalite",[51,29,29,24],2,"High quality project and work","README lacks clear guidance on salt storage and password-derived key example","encryption library",{"id":56,"name":57,"line":58,"ai":8,"cat":36,"year":59,"points":60,"comments":38,"rec":13,"s":14,"top":61,"kw":62,"maker":21,"domain":47,"tier":66,"attempts":67,"strip":68,"url":69,"mix":70,"praise":71,"objection":72,"sub":73},13415917,"Sodium_compat","A Pure PHP implementation of libsodium",2017,62,31,[43,45,63,64,65],"ed25519","constant time","pure php","notable",5,"0011000055","https:\u002F\u002Fgithub.com\u002Fparagonie\u002Fsodium_compat",[51,29,29,51],"Lesser-of-two-evils approach to bringing modern signatures to PHP","Side-channel and constant-time risks from implementing crypto in an interpreted language","cryptography library",{"id":75,"name":76,"line":77,"ai":8,"cat":36,"year":78,"points":79,"comments":80,"rec":81,"s":82,"top":24,"kw":83,"maker":21,"domain":47,"tier":87,"attempts":29,"strip":88,"url":89,"mix":90,"praise":94,"objection":95,"sub":96},16070394,"PAST","A secure alternative to JWT",2018,362,138,"mixed",0.06,[84,85,86,43],"jwt alternative","authentication tokens","versioned token format","legend","1433000005000500500300105530005101353531","https:\u002F\u002Fgithub.com\u002Fparagonie\u002Fpast",[91,92,51,93],15,11,9,"Versioning instead of negotiation removes footguns","Public-key mode is unnecessary and risky for tokens","token format",1794036745733]