[{"data":1,"prerenderedAt":212},["ShallowReactive",2],{"blog-has-posts":3,"current-release":4,"legal:\u002Flegal\u002Fsecurity":5,"legal-nav":193},false,"1.1.0",{"id":6,"title":7,"body":8,"description":184,"extension":185,"meta":186,"navigation":187,"path":188,"seo":189,"stem":190,"updatedAt":191,"__hash__":192},"legal\u002Flegal\u002Fsecurity.md","Security",{"type":9,"value":10,"toc":173},"minimark",[11,26,33,38,84,88,138,142,149,153,156,160,163,167],[12,13,14,15,19,20,25],"p",{},"The strongest security property Katami has is the one it was designed around:\n",[16,17,18],"strong",{},"your photographs never leave your Mac",", so there is no copy of your library\nanywhere for anyone to breach. What we do hold — your email address, your\nlicense and the Macs it is linked to — is described in the\n",[21,22,24],"a",{"href":23},"\u002Flegal\u002Fprivacy","Privacy Policy",".",[12,27,28,29,25],{},"Found a vulnerability? See ",[21,30,32],{"href":31},"\u002Flegal\u002Fdisclosure","Reporting a Vulnerability",[34,35,37],"h2",{"id":36},"the-app","The app",[39,40,41,48,54,60,66,72,78],"ul",{},[42,43,44,47],"li",{},[16,45,46],{},"Signed and notarised."," Katami is signed with our Apple Developer ID and\nnotarised by Apple, so macOS checks it came from us and has not been\nmodified.",[42,49,50,53],{},[16,51,52],{},"Sandboxed."," Katami runs in the macOS App Sandbox, with Hardened Runtime\nenabled. It can reach only the folders you give it, and it accepts no incoming\nnetwork connections.",[42,55,56,59],{},[16,57,58],{},"Signed updates."," Updates are downloaded over HTTPS and each is\ncryptographically signed; Katami refuses any update that is not signed by us.",[42,61,62,65],{},[16,63,64],{},"Signed licenses."," Your license is a signed token bound to your Mac, checked\nby the app itself. It is stored in the macOS Keychain, readable only on that\nMac.",[42,67,68,71],{},[16,69,70],{},"Local processing."," Every model Katami runs, runs on your Mac. The models\nit downloads are stored sealed, and checked before they are loaded.",[42,73,74,77],{},[16,75,76],{},"No analytics, by test."," The app contains no analytics or crash-reporting\nservice, and an automated test in its build fails if one is added.",[42,79,80,83],{},[16,81,82],{},"You see what you send."," A problem report shows you its contents before it\nis sent, with your home folder, email address and user name removed from its\nlogs.",[34,85,87],{"id":86},"our-service","Our service",[39,89,90,96,102,108,114,120,126,132],{},[42,91,92,95],{},[16,93,94],{},"No passwords."," You sign in with a single-use link that expires after ten\nminutes, so there is no password of yours for us to leak.",[42,97,98,101],{},[16,99,100],{},"Secrets stored as hashes."," Sign-in links and session tokens are stored\nonly in hashed form, so our database alone cannot be used to sign in as you.",[42,103,104,107],{},[16,105,106],{},"Short-lived sessions."," Sign-ins use short-lived tokens that are rotated as\nthey are used; reusing an old one ends the session.",[42,109,110,113],{},[16,111,112],{},"Encryption in transit."," Every connection uses TLS 1.2 or 1.3 with forward\nsecrecy, and our sites are HTTPS-only (HSTS).",[42,115,116,119],{},[16,117,118],{},"Minimal exposure."," The database is not reachable from the internet. Our\nservices run as unprivileged, minimal containers.",[42,121,122,125],{},[16,123,124],{},"Verified webhooks."," Messages from Paddle and our email provider are\nsignature-checked before we act on them.",[42,127,128,131],{},[16,129,130],{},"Rate limits"," on sign-in, email and reports, to blunt abuse.",[42,133,134,137],{},[16,135,136],{},"Dependency scanning."," Our service's dependencies are scanned for known\nvulnerabilities on every change.",[34,139,141],{"id":140},"payments","Payments",[12,143,144,145,148],{},"We never see or store your card details. Payment is handled entirely by\n",[16,146,147],{},"Paddle",", our Merchant of Record, which is PCI DSS Level 1 certified.",[34,150,152],{"id":151},"people-and-access","People and access",[12,154,155],{},"We are a very small team. Access to production systems is limited to the people\nwho need it, and actions taken in our admin tools are recorded in an audit log.",[34,157,159],{"id":158},"if-something-goes-wrong","If something goes wrong",[12,161,162],{},"If we ever learn of a breach affecting your personal data, we will tell you\nwithout undue delay — what happened, what it affects, and what we are doing —\nand notify the authorities where the law requires, within 72 hours.",[34,164,166],{"id":165},"questions","Questions",[12,168,169],{},[21,170,172],{"href":171},"mailto:security@katami.io","security@katami.io",{"title":174,"searchDepth":175,"depth":175,"links":176},"",3,[177,179,180,181,182,183],{"id":36,"depth":178,"text":37},2,{"id":86,"depth":178,"text":87},{"id":140,"depth":178,"text":141},{"id":151,"depth":178,"text":152},{"id":158,"depth":178,"text":159},{"id":165,"depth":178,"text":166},"How Katami, the License Manager and our licensing service are built to keep your data safe — starting with keeping as little of it as we can.","md",{},true,"\u002Flegal\u002Fsecurity",{"title":7,"description":184},"legal\u002Fsecurity","2026-09-24","YTPqBpchqiJkaluLTG40gUR_T_CGY9-4pOxhG0I6708",[194,195,198,201,202,205,206,209],{"title":32,"path":31},{"title":196,"path":197},"End-User License Agreement","\u002Flegal\u002Feula",{"title":199,"path":200},"How Your License Works","\u002Flegal\u002Flicense",{"title":24,"path":23},{"title":203,"path":204},"Refund Policy","\u002Flegal\u002Frefunds",{"title":7,"path":188},{"title":207,"path":208},"Subprocessors","\u002Flegal\u002Fsubprocessors",{"title":210,"path":211},"Terms of Service","\u002Flegal\u002Fterms",1790804971680]