{"ok":true,"site":{"host":"vouchsafe-vault.vercel.app","url":"https://vouchsafe-vault.vercel.app/","type":"live","desc":"Your facts stay in your browser. A letting agent asks a question and gets one word back. Built on WebMCP cross-origin tool federation.","tools":[{"name":"vault_list_predicates","kind":"act","impl":"imperative","description":"List every question this vault can answer, with the cost in bits of granting each one. Use before granting anything.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_list_grants","kind":"answer","impl":"imperative","description":"List which origins currently hold which permissions, and the total bits disclosed to each.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_grant","kind":"act","impl":"imperative","description":"Grant one origin permission to ask one question. The origin must already be on the vault allowlist.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Origin to grant to, such as https://example.com"},"predicate":{"type":"string","description":"Name of the question to allow."}},"required":["origin","predicate"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_revoke","kind":"act","impl":"imperative","description":"Withdraw one permission from one origin. Takes effect immediately.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Origin to withdraw from."},"predicate":{"type":"string","description":"Name of the question to withdraw."}},"required":["origin","predicate"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_revoke_all","kind":"act","impl":"imperative","description":"Withdraw every permission held by one origin at once. Use when ending a relationship with a letting agent.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Origin to cut off entirely."}},"required":["origin"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_disclosure_report","kind":"act","impl":"imperative","description":"Report how much this vault has given away, in bits, per origin, and which single grant is the most expensive.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_read_ledger","kind":"act","impl":"imperative","description":"Show the most recent calls made against this vault: who asked, what they asked, and what they were told.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"How many recent entries to return, up to 50."}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_update_fact","kind":"act","impl":"imperative","description":"Correct one fact held in the vault, such as annual income or household size. Never leaves this browser.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"key":{"type":"string","enum":["legalName","annualIncomeGbp","employerName","employmentStartIso","employmentType","savingsGbp","creditBand","evictionCount","ccjCount","referenceCount","householdSize","hasPets","petDescription","smoker","rightToRentValidUntilIso","earliestMoveInIso"],"description":"Which fact to change."},"value":{"type":"string","description":"The new value, as text."}},"required":["key","value"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_compare_disclosure","kind":"act","impl":"imperative","description":"Compare what the current permissions reveal against the documents a letting agent would ordinarily demand to answer the same questions. Use when the applicant asks whether this is actually safer.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_explain_permission","kind":"act","impl":"imperative","description":"Explain in plain language what granting one permission does and does not reveal, and which document it saves the applicant from uploading.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"predicate":{"type":"string","description":"Name of the permission to explain."}},"required":["predicate"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_probe_report","kind":"act","impl":"imperative","description":"Report whether any origin is asking the same threshold question repeatedly to reconstruct the number behind it, and how much it has worked out so far.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"vault_known_origins","kind":"answer","impl":"imperative","description":"List the origins this vault will consider granting permissions to.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"prepare_file_update","kind":"act","impl":"declarative","description":"Fill in the applicant's details so they can review and save them. The person must press Save; this does not submit on its own.","inputSchema":{"type":"object","properties":{"annualIncomeGbp":{"type":"number"},"savingsGbp":{"type":"number"},"creditBand":{"type":"string","enum":["very_poor","poor","fair","good","excellent"]},"employerName":{"type":"string"},"employmentStartIso":{"type":"string"},"employmentType":{"type":"string"},"evictionCount":{"type":"number"},"ccjCount":{"type":"number"},"referenceCount":{"type":"number"},"householdSize":{"type":"number"},"hasPets":{"type":"string","enum":["true","false"]},"petDescription":{"type":"string"},"smoker":{"type":"string","enum":["true","false"]},"rightToRentValidUntilIso":{"type":"string"},"earliestMoveInIso":{"type":"string"},"legalName":{"type":"string"}}},"__source":"spec","__declarative":true}],"favicon":"/favicons/vouchsafe-vault.vercel.app.ico","apiSurface":"spec","category":"Productivity & Business","toolCount":13}}