[{"data":1,"prerenderedAt":120},["ShallowReactive",2],{"product-\u002Fwork\u002Fsweetrust":3},{"id":4,"title":5,"bench":6,"body":7,"brand":5,"claim":104,"description":13,"extension":105,"handoff":106,"listed":107,"meta":108,"movement":109,"navigation":107,"order":110,"path":111,"receipt":6,"receiptLabel":6,"receiptStatus":112,"retired":6,"seo":113,"state":93,"stem":114,"substrate":115,"__hash__":119},"products\u002Fproducts\u002Fsweetrust.md","SweeTrust",null,{"type":8,"value":9,"toc":99},"minimark",[10,14,36,39,44,73],[11,12,13],"p",{},"An agent asks to do something. Three packages decide what happens next.",[11,15,16,23,24,29,30,35],{},[17,18,19],"strong",{},[20,21,22],"code",{},"mandate"," holds the authority a person granted — what may be spent, on what, until\nwhen. ",[17,25,26],{},[20,27,28],{},"gate"," is the enforcement point every action passes through; nothing reaches a\nsink without clearing it. ",[17,31,32],{},[20,33,34],{},"verify"," produces the record afterwards, in a form that does\nnot require trusting the person who produced it.",[11,37,38],{},"The interesting part is not the refusal. It is the moment before it — when authority runs\nout and a human has to be asked. That ask is an interface problem, and it is the one this\nwhole site is about.",[40,41,43],"h2",{"id":42},"state-built-and-tested-nothing-published","State — built and tested, nothing published",[11,45,46,47,50,51,53,54,56,57,59,60,63,64,68,69,72],{},"One package, ",[20,48,49],{},"sweetrust@0.3.0",", with ",[20,52,22],{},", ",[20,55,28],{}," and ",[20,58,34],{}," as subpath exports.\nThey were three separate packages until 2026-07-30, and each of them still stands alone;\nwhat changed is that you install one thing instead of assembling three. An adversarial\npass on 2026-07-25 found and fixed ",[17,61,62],{},"eleven fail-open defects",", several of which\nmattered: ancestry erasure that defeated a scoping rule, an empty fold returning the\n",[65,66,67],"em",{},"strongest"," claim rather than the weakest, a sink operation that threw and left no record\nat all. Coverage today is ",[17,70,71],{},"169 tests, all passing"," — mandate 71, gate 59, verify 34,\nand five on the barrel that keeps the three re-exports from silently colliding.",[11,74,75,78,79,82,83,86,87,90,91,94,95,98],{},[17,76,77],{},"None of this is publicly checkable yet."," The monorepo is private and nothing is on npm\n— ",[20,80,81],{},"npm view"," returns 404 for ",[20,84,85],{},"sweetrust"," and for each of the older ",[20,88,89],{},"@sweetrust\u002F*"," names. That is why this page says ",[65,92,93],{},"built","\nrather than ",[65,96,97],{},"shipped",", and why the card carries no receipt. The distinction is the point:\na claim a visitor cannot verify is a claim this site does not make.",{"title":100,"searchDepth":101,"depth":101,"links":102},"",2,[103],{"id":42,"depth":101,"text":43},"A deny-by-default capability firewall for AI agents — gate, mandate, verify.","md","The agent reaches the edge of its authority. What does the person see, and can they decide from it alone?",true,{},"trust",1,"\u002Fproducts\u002Fsweetrust","none-yet",{"title":5,"description":13},"products\u002Fsweetrust",[116,117,118],"TypeScript","Sui","Move","UIIUK_jueVdgGsTFqNIlZrvzSCddIXGrt24UdeUFY7M",1790479752353]