Inovai / Who it’s for
The vendor says it’s secure.
We check the answers, the widget’s public code and the data flow. You sign off on acceptance only after the fix and retest.
Public widget code on the website
// chat-widget.min.js, line 1,842
const cfg = {
endpoint: "https://api.dodavatel.example/v1/chat",
apiKey: "sk-live-4f9a…c21e",
tenant: "zakaznik-cz",
userId: localStorage.getItem("uid")
};
Findings from the analysis, before deployment
- API key visible in JavaScriptP0
- Only the browser identifies the user; the server doesn’t verify itP0
- Conversations go to a third partyP1
The chatbot may have keys in its code, weak authentication or pass data on.
We check the answers, the widget code and the data flow, and hand the findings to the vendor.
Acceptance only after the fix and retest, with evidence in hand.
What usually happens without a test
Three gaps that only show up after signing.
How we proceed
From the contract clause to acceptance sign-off.
From you we need the contract with the vendor and their written consent to the test. If the vendor refuses to give it, that in itself tells you something.
Evidence for acceptance
A report with findings, fixes and retest as an annex to the acceptance sign-off.
The vendor says a test isn’t needed. What now?
Ask for the results of their test with reproduction of the findings. If they don’t have them, that’s a reason for a test before acceptance; if they do, we verify them with a retest.
Can we test when the chatbot runs in the vendor’s cloud?
Yes, with the consent of the vendor and, where relevant, the cloud provider. The attacks are texts sent through the normal interface, not an intervention in the infrastructure.
What if we’ve already accepted it?
We test it in production with the vendor’s consent and hand over the findings under the warranty or service contract. We recommend adding the right to test to the next contract.