Skip to content
Giallo

Business chatbot guardrails: where to use Jev AI

How to use Jev AI to classify risks and route messages, while maintaining permissions, technical controls, and approvals in the software.

Reading time: 11 min

Message evaluated by Jev and then subjected to deterministic permissions of the code before the action

Jev AI can be used in guardrail of a chatbot to evaluate messages and direct them towards ordinary management, review or blocking. Risk judgment does not authorize operations: identity, permissions and constraints must be verified by the software that performs the action.

The responsibilities to be separated

  • The model evaluates a content according to defined criteria.
  • The application decides the path and checks the permissions.
  • Actions with consequences must have safe behavior even without response of control.
  • An admitted message does not automatically make the answer correct.
  • Tests must include abuse and lawful requests blocked unnecessarily.

The word guardrail covers different problems

A company may want to avoid off-topic responses, recognize requests to be passed on to an operator, prevent disclosure of documents, or limit available operations. They are related needs, but they require different tools. A text classification can help with the former; accessing a record requires a verification of the right to read that record.

The AI Agents Guide for Companies helps distinguish an information assistant from a system that performs actions. The more the flow can modify data, send communications, or make commitments, the more accurate the possible operations need to be described. "Help the customer" is not an authorization that can be used by the software.

The official cookbook on guardrails combines Noul ratings and strictness Score on input and output. The code decides between passing, reviewing, blocking, and routing. These outcomes depend on the enforcement policy; the likelihood of risk does not guarantee that any abuse will be recognized.

In the design of an SME, the initial question should be: what concrete error do we want to intercept before what action? An offensive request, a question about the status of the order and an attempt to change an IBAN cannot share just a generic traffic light. The system needs to know who takes charge of each case and what it can do in the meantime.

A policy readable before a threshold

The owner of the process writes allowed cases, banned cases and cases to be reviewed. The text must contain examples and boundaries: a service dispute is not necessarily an abuse; a question about a colleague's data may be legitimate for some roles and not for others. The policy must rely on application-verifiable information.

In the Presentation by Jev AI find the distinction between typed decision and generation. For guardrails, we propose to define few independent decisions: the message belongs to the process, requires a person, contains an operational request or introduces instructions incompatible with the task. You don't have to turn every nuance into a category.

Then establish the actions. A message out of scope may receive an indication of the correct channel. A request to be reviewed enters a queue with handler. A prohibited writing must not arrive at the operating instrument. The policy describes these consequences; the threshold serves only to govern cases where judgment is uncertain.

The confidence guide It addresses uncertainty by action. Here the point is to preserve the separation: even a decided outcome of the model does not change the rights of the user. If the server prohibits writing, no text evaluation should turn it into a permitted operation.

The boundary that must remain in the code

The following table is a liability proposal for a business chatbot. Each line can be verified with a separate proof, without attributing everything to the model.

Control Who makes the decision in the project Useful Test
User Identity Authentication system Unrecognized user
Accessing a document Server Authorization Rule User without right on file
Message Eligibility Application Policy with Content Assessment Out of scope request
Validity of parameters Code and service constraints No such identifier
Edit permission Server on the specific operation Read-Only Role
Approval needed Process rule Operation without approval
Quality of response Content and Source Controls Unsupported conclusion
An AI rating does not grant a permit
Design scheme: the result of the classification and the deterministic rules of the software contribute to the decision to execute. The evaluation of the model does not grant a permit.

In the project, technical checks are carried out even if the text seems harmless. They should not receive from the model a simple order to skip verification. The server knows the identity through the session and privileges through its own rules, not through what the user writes in the chat.

The cookbook Function calling shows choices between enumerated functions and arguments. The application then invokes ordinary functions. A compatible scheme does not grant permissions or guarantee that the action is semantically correct: the transition from the result to the execution requires independent checks.

This distinction becomes concrete when selecting an update function. The name of the function is only a proposal. Prior to execution, the code verifies the record, editable field, user right, and eventual approval. The configuration must make it impossible to modify fields that the process does not contemplate.

Hypothetical case: internal chatbot of a distributor

A hypothetical Italian SME sells industrial supplies. The internal chatbot helps you search for customers and prepare business notes. Some users can read the CRM; only authorized contact persons can update the payment conditions.

An employee asks to change an economic data because the customer has phoned. The message could be perfectly consistent with the work of the company. A content guardrail can recognize the type of request, but the server must still refuse writing if that role does not allow it.

The project distinguishes the preparation of a change request from the actual update. The employee can fill out a proposal, indicate the reason and send it to the manager through the planned route. The system shows the approval status. No score must transform a proposal into a data already modified.

The pilot tests correct messages from users without permissions, ambiguous messages from authorised users and parameters referring to different records. These are different situations. A favourable result for the text must not compensate for an error in the record; an authorised user must not be able to bypass field constraints.

The company also controls the experience of the colleague. If each lawful request produces a generic block, the operator will look for other channels. The flow should explain the next action allowed, for example prepare a proposal to be approved. This scenario is hypothetical and does not describe an already installed Giallo solution.

Hypothetical case: customer support for a service company

A second hypothetical Italian SME offers maintenance and wants a chatbot that answers the frequently asked questions. Some requests report urgent failures; others ask for refunds or contain disputes. The owner of the process decides that the information system cannot make economic commitments.

The incoming guardrail routes reports that require a person. The output control instead observes whether the draft makes a promise out of the approved conditions. The two evaluations have different purposes: a lawful question could receive too broad an answer, and a conflicting question could be handled with a correct answer.

For sources, the project uses only accessible and applicable documents. The RAG with pass filtering prepares the context, while the citation verification helps to control the support of claims. The guardrail should not be presented as a substitute for both.

Urgent messages follow a route planned by the company and receive a controlled indication. The revision must not leave them immobile in a generic queue. The manager determines who reads the notices and how they handle schedules and absences. Without this oversight, recognizing an urgency adds a label but does not improve service.

Unsatisfied customers who make legitimate requests are included in the test. Control should not confuse a harsh tone with a reason to deny assistance. Count separately the cases to be passed to a person, the unnecessarily blocked requests and the external promises that the system would let out.

Hostile materials and useful information can stay together

A retrieved document may contain useful information and a party attempting to give instructions. In the project the content remains material to be examined. Operating instructions must come from the controlled configuration, not from a document, email, or CRM field.

The Documentation on the limits of Jev 1.13 report vulnerability to opposing inputs. A probabilistic guardrail is not a safety barrier. For this reason the project maintains permissions, allowed tools and validation of parameters independent of the result of the classification.

A useful test takes an admitted request and adds an attempt to change the behavior: ignore the process, access another record or send data out of the intended channel. The expected result must also relate to the final action. It is not enough to verify that the model has reported something if the software still performs the operation.

The Data security in AI projects It involves the entire path. A too-rich log, a queue accessible to all, or a credential with excessive privileges can cause problems even if the message classification works. The perimeter of the test must include the components that receive and store the data.

When control is lacking, the flow must know what to do

You may miss an answer, arrive a timeout or be unavailable the verification service. The project must define a behavior for each type of operation. A writing with consequences may remain suspended; a consultation may show a controlled response or propose a new attempt.

Avoid a single rule for everything. Passing each request in case of an error makes the control optional just when it doesn't work. Blocking anything can instead stop the office from a limited problem. The process owner must decide what to suspend, what to degrade, and who to warn.

Retry must also be observable. Repeating an operation should not duplicate an update or send two communications. In the project, the execution has its own identifier and controls. The repetition of the classification is not equivalent to the repetition of the action that would follow.

Open a tab for a new chatbot action

Purpose: what the user can achieve with this operation.

Permissions: which roles, records, and fields are allowed by the server.

Revision: when approval is needed and who gives it.

Error: what happens if the model, control or tool does not respond.

Test: allowed case, forbidden case, incorrect parameter and opposing request.

Try permissions without trusting the text

The permit test must include well-worded requests. A user without the right to modify can explain the work accurately, provide all the fields and present a reasonable motivation. However, the server must deny the operation. A test built only with blatantly suspicious messages does not prove this boundary.

We propose to repeat the same request with two proof identities: one authorized and one read-only. Then we maintain the identity and change the required record, including one outside its scope. Finally we verify one field admitted and one that the process does not make editable. They are design controls distinct from semantic message evaluation.

The result to be observed is the state of the data in the recipient system. An alert in the chat is not enough: the operation may have been performed before the blocking message. This is why the test compares the response shown, the possible attempt of the tool and the actual outcome of the server.

When approval is needed, also try an unapproved request, one approved for another record, and one already executed. The code must link the approval to the specific operation envisaged by the process. A generic written confirmation in chat should not authorize an indefinite series of subsequent changes.

These checks can be carried out with synthetic data in a separate environment. Before operational use begins, the group checks that the permissions configuration is also the expected one in the real system. The content guardrail remains useful, but its outcome must not change the result of these access tests.

Measuring errors of two types

A guardrail must be assessed on both undetected abuses and unnecessary blockades. The first group is about what the company did not want to allow. The second concerns clients or colleagues who fail to complete a lawful activity. Both affect the result, but may require different corrections.

Build a sample with the process owner. Each case must have an expected outcome and a reason. When two people disagree, clarify the policy before changing the question to the model. An ambiguous criterion produces an ambiguous human review even with a different classifier.

It then evaluates the full flow: what the user received, what operation was attempted, what controls authorized it, and whether it was performed. This makes it possible to distinguish a wrong classification from a misconfigured permission. The two things may appear similar in the chat, but they do not correct at the same point.

Before the pilot, define necessary data and tests on Italian content. Start from a circumscribed function, with few readable tools and responsibilities. A project of AI agents becomes evaluable when you know what actions it can perform, who authorizes them and how each boundary occurs.

We design guardrails and permits of your agent, with test cases before operational use.

Giallo Studio guides: methodology and sources

How we apply it in the company

Related resources

AI consulting services and process automation

Jev AI in business processes

APIs, Decisions, Data, and Controls: Choose the step that relates to your process.

FAQ

Can a Jev guardrail authorize a change to the CRM?

Message evaluation does not grant permissions. In the project, the server verifies identity, role, record, and allowed operation before making any changes.

Where should message checking be placed?

You can include it at input and before output, with different criteria. Input checking concerns the request; output checking concerns what the system is about to display or propose.

What happens if the check does not respond?

Define the behaviour for each action. For a write operation with consequences, you can suspend the operation and open a review; an informational function can display a controlled message and allow a retry.

Does Jev guarantee that it will recognise every prompt injection?

No. The documentation notes limitations with adversarial inputs: probabilistic checking must work alongside independent technical rules, rather than being treated as a definitive barrier.

Who decides which messages to block?

The process owner writes down the permitted and prohibited cases with help from the necessary people. The implementer translates those criteria into verifiable paths and checks.

How do I prevent the guardrail from blocking lawful requests?

Include permitted requests that look risky out of context in the pilot as well. Measure unnecessary blocks and dangerous cases that get through, then correct rules and paths before expanding the scope.

Put it into practice

Let's turn this guide into your first live workflow.

Tell us what process you want to lighten: we evaluate feasibility, return and first operational step.