Launching today
Rivault
Safely provide and store data and context for AI agents
65 followers
Safely provide and store data and context for AI agents
65 followers
Rivault lets you safely and securely provide AI agents and CUA data and context for tasks. Store data and context in a zero-knowledge vault, When an AI agent needs data (Passport No. or Credit Card details) to execute a task like booking a flight, Rivault sends you an auth request, you unlock data with Face ID/ Passkey and data is deterministically redacted after task completes. Rivault never gets access to your data by default.







Rivault
Hi ProductHunt! π I created Rivault to solve for the friction and worry of typing in sensitive details and data (SSN, payment details, phone number, emails) for CUA to automate tasks. This allowed me to store, manage and own those data without having any sensitive data stored in session logs and memory.
Please let me know what do you think about Rivault and if you have any questions! πββοΈ
Hyu, the vault is the easy half of this problem, and I suspect you already know that.
Once the agent unlocks the passport number and types it into a page, that value exists in the DOM, in whatever screenshot the agent took to see the field, and in the model context that reasoned about the page. Deterministic redaction after the task covers your own store, not the trail the agent left getting there. Doing PHI redaction in healthcare, the downstream copies were the hard part every single time, never the storage.
Does the redaction reach the agent's screenshots and page context, or does that stay the responsibility of whoever runs the agent?
Rivault
@clemente_lopez1Β Hey Clemente, thanks for writing in and sharing your thoughts! The window of the value existing on the DOM level also persists across manually executed task - I am currently experimenting with other techniques through browser extension for end to end execution without providing agents any visibility to values, as for the screenshots the redaction mechanism covers that too! (Spent quite a while working on that) The redaction also covers every trail left by the agent (across all supported platforms). So by the time the task completes, no sensitive data would be left behind.
Hope this helps! Those are some great and sharp points. There are definitely opportunities in making Rivault even more robust which I will keep revving on - but for now, Rivault makes it much safer than pasting sensitive data in plaintext
The zero-knowledge vault with Face ID unlock is a clean way to solve CUA credential injection. We've thought a lot about the tension between automation speed and human-in-the-loop gates when building agentic workflows. The auth request pattern is smart but introduces a latency dependency. How do you handle timeouts or retry logic when the user isn't available to unlock and the agent is already mid-task?
Congrats on the launch, Hyu. The redaction covering screenshots and every trail across platforms answers the exact question I'd have asked first, most tools stop at "we don't log it" and never touch what the agent saw on screen. What I'd still want to know about the approval side: when a task needs more than one entry in sequence, say a card number for checkout, then an email for the receipt, does each pull need its own Face ID approval, or does unlocking once open a window the agent can draw from until the task finishes?
The hard part with secrets and agents isn't storage, it's that the moment a value lands in a context window it's effectively been disclosed. Anything that can steer the model afterwards can usually get it back out.
So the question I'd have is where Rivault sits in that sequence. Is it a vault the agent authenticates against and then holds the value, or does it stay in the path β proxying the call so the agent works with a reference and never sees the raw credential? Those are very different security properties under prompt injection, and only the second one really survives it.
Everything in the thread so far treats sensitive data as fields β passport, card, SSN β and those are the tractable class precisely because they have a shape a redactor can match. The category I'd want to hear about is the one with no shape: the paragraph a person types describing their situation. A health detail, a legal problem, something about their kid. More damaging than a card number, can't be reissued, and no pattern finds it.
I build a consumer app where the most sensitive thing in the product is free text someone wrote in a bad moment, and the only answer I ended up trusting was architectural rather than filtering β certain content is contractually never allowed to leave the device, so there's no store, no log, and nothing to redact afterward. Deterministic redaction after the fact is a strictly weaker guarantee than never having transmitted it.
So: does Rivault hold context that isn't a typed field? If the vault carries a freeform note for the agent to use, what is the redaction matching against?
That's interesting. How do you handle conflicts when multiple agents try to access the same vault entry?