[{"data":1,"prerenderedAt":119},["ShallowReactive",2],{"project-40061373":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":15,"aspects":32,"strip":34,"post_text":36,"what":37,"said":62,"maker_in_thread":72,"shape":74,"grid":77,"attempts":80,"same_week":81,"maker_shows":35,"maker_hidden":112,"reader_version":113,"card":114},"40061373","Privacy Manifest","Privacy Manifest CLI tool for iOS apps","title","Show HN: Privacy Manifest CLI tool for iOS apps","https:\u002F\u002Fgithub.com\u002Fstelabouras\u002Fprivacy-manifest","github.com","stelabouras",1713337232,2024,13,1,2289,3515,66,"shown","dev_tools","ios privacy manifest cli","cli",[24,25,26,27],"ios privacy manifest","required reason api","app store privacy","swift cli","quiet",null,{"positive":15,"neutral":31,"mixed":31,"critical":31},0,{"execution":33},{"positive":15,"critical":31},[35],5,"I have created a simple CLI tool to help me go through the codebase of my iOS apps and detect those 'required reason' APIs and SDKs that Apple now requires developers to disclose on a separate manifest file.\n\nI have also added the option to generate a simple Privacy Manifest file based on the findings and on the responses that the developer will give.\n\nEven though it's a bit too niche for HN, there maybe iOS devs here that might find this tool useful!",{"problem":38,"audience":44,"pricing":29,"motivation":48,"time_to_build":29,"stack":52,"openness":61,"stage":61,"team_size":61},{"value":39,"source":40,"evidence":41},"Finding required-reason APIs and SDKs in iOS codebases for Apple's privacy manifest","maker",[42],{"id":43},"post",{"value":45,"source":40,"evidence":46},"iOS developers",[47],{"id":43},{"value":49,"source":40,"evidence":50},"Maker needed to audit their own iOS apps for Apple's new disclosure requirements",[51],{"id":43},[53],{"value":54,"source":55,"evidence":56},"Swift","commenter",[57],{"id":58,"by":59,"text":60},"40068863","mrbombastic","Very nice! love that it is all in swift, will give a closer look later but looks beautiful. Recently went through this with a react native app with a ton of old dependencies and…","unknown",{"praise":63,"objections":68,"requests":69,"questions":70,"alternatives":71},[64],{"value":65,"source":55,"evidence":66},"Commenter likes that it is written in Swift",[67],{"id":58,"by":59,"text":60},[],[],[],[],{"comments":31,"answered":31,"key":73},[],{"commenters":15,"max_depth":15,"maker_replies":31,"first_comment_mins":75,"lifespan_hours":76},727,12,[78],[58,31,35,79,59,31],"project\u002Fpositive\u002Fexecution",[],[82,87,92,97,102,107],{"id":83,"name":84,"points":85,"category":86},"40003710","OptiGap sensor",886,"hardware",{"id":88,"name":89,"points":90,"category":91},"40041198","gypsum",552,"learning_science",{"id":93,"name":94,"points":95,"category":96},"40017180","Mazelit",517,"games",{"id":98,"name":99,"points":100,"category":101},"40033490","markdowndown",441,"productivity",{"id":103,"name":104,"points":105,"category":106},"40067677","Effort",419,"ai",{"id":108,"name":109,"points":110,"category":111},"40028111","index advisor",417,"data",false,"v2",{"id":115,"name":5,"line":6,"ai":112,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":116,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":117,"url":9,"mix":118,"praise":65,"objection":-1,"sub":21},40061373,[24,25,26,27],"5",[15,31,31,31],1794036653238]