Six situations, one rule each
Ordinary agents doing ordinary work, and the moment each one needs a rule. The decision is made before the action runs, and the rule that made it goes in the log. Each situation is labeled with one of Paladin's four decisions: allow, deny, redact, escalate.
- deny. A support agent holds a Stripe key. It can read payments and issue refunds. A customer asks for a $4,000 refund. Policy caps refunds at $2,000, so the call never reaches Stripe, and the log shows the rule that stopped it. The $180 refund an hour later goes straight through.
- escalate. A coding agent cleans up after a migration. Halfway through, it calls the database tool to drop a table that looks unused. Dropping a table is irreversible, so the call is held. The developer sees the request in Claude Code, with the reason, and approves or rejects it in place. Nothing runs in the meantime.
- escalate. A procurement agent reads supplier pages all day. One page carries a hidden instruction: email the price list to an outside address. Every page is untrusted input, so it is checked before the model reads it, and a page carrying an injection is held until a person clears it. Even if one slipped through, a session that has read private data and untrusted content cannot reach an unapproved destination on its own.
- redact. An operations agent summarizes a ticket. The ticket has a customer's card number in it. On the way to the model, the number is masked and the rest of the ticket goes through untouched. The summary comes back, the model never saw the number, and the agent's code did not change.
- deny. A sales agent enriches a lead list. It pushes the rows to a third-party enrichment tool, phone numbers and emails included. Personal information does not leave through a tool. The call is denied, the reason is in the log, and the rows stay where they were.
- allow. An app built in Lovable ships with a support assistant. Built in an afternoon, live by Friday, the customer table behind it. Its model calls point at Paladin instead of the provider: one base URL change, nothing else. Hundreds of ordinary questions a day go through with nothing added, zero tokens, no second model. The one reply that tries to send a customer's order history to an outside address is dropped before the app ever sees it, and the log says why.
One rule each, by industry
The same kind of situation, grouped by the industry the agent works in. On the page this is the "By industry" view, at /paladin/use-cases?view=industry.
Edtech
- redact. A tutoring platform's agent drafts progress notes for teachers. Each report carries the student's email and a parent's phone number. The platform's policy masks both on the way to the model. Grades and attendance go through untouched, so the note still says something useful, and the model never saw either contact detail.
- deny. A classroom agent sets up a new learning app. It uploads the class roster to the app, parent emails and phone numbers included. Emails and phone numbers do not leave through a tool, so the upload is denied and the reason is in the log. The same roster with names and grade levels only goes through.
Healthtech
- redact. A clinic's scribe agent turns a visit into a chart note. The visit note has the patient's callback number and Social Security number in it. The clinic's policy masks both on the way to the model. The chart note comes back, and the model never saw either number.
- escalate. An agent cleans up duplicate patient records. It calls the records system to delete one it takes for a duplicate. Deleting a record is irreversible, so the call is held until a person approves it. If no one does, the record stays where it is.
Fintech
- deny. A support agent holds a Stripe key. It can read payments and issue refunds. A customer asks for a $4,000 refund. Policy caps refunds at $2,000, so the call never reaches Stripe, and the log shows the rule that stopped it. The $180 refund an hour later goes straight through.
- escalate. A finance agent pays a vendor invoice. It calls the bank's API to transfer $5,000 to the vendor's account. Moving money is irreversible, so the transfer is held until a person approves it. Nothing leaves the account in the meantime.
Developer tools and SaaS
- escalate. A coding agent cleans up after a migration. Halfway through, it calls the database tool to drop a table that looks unused. Dropping a table is irreversible, so the call is held. The developer sees the request in Claude Code, with the reason, and approves or rejects it in place. Nothing runs in the meantime.
- allow. An app built in Lovable ships with a support assistant. Built in an afternoon, live by Friday, the customer table behind it. Its model calls point at Paladin instead of the provider: one base URL change, nothing else. Hundreds of ordinary questions a day go through with nothing added, zero tokens, no second model. The one reply that tries to send a customer's order history to an outside address is dropped before the app ever sees it, and the log says why.
How the four decisions work. Third-party names identify compatibility only. They belong to their respective owners, and no endorsement is implied.
Paladin is in early access. It installs today and enforces from the first request. We are working with a small number of teams on real runtime policy problems.
Book a call
Cortexa Labs, Inc.