WASViking Docs
⌘K
WASViking AI GuardianGetting Started

Protect Claude Enterprise with inference hooks

Point your Claude Enterprise organization's inference hooks at WASViking so every request from claude.ai, Claude Desktop, the mobile apps, Claude Code and Cowork is inspected before the model runs, with nothing installed on devices and no traffic interception. Includes what each Claude plan, Team or Enterprise, allows.

Claude Enterprise Protection in WASViking® AI Guardian answers your Claude Enterprise organization's inference hooks. Claude Enterprise sends every governed request, from claude.ai on the web, Claude Desktop, the mobile apps, Claude Code and Cowork, to one WASViking address before the model runs, and WASViking answers allow or deny. A denied request never reaches the model, and the person reads why.

Nothing is installed on devices and no traffic is intercepted: the vendor delivers the conversation itself, signed. This is the one path that inspects conversations in the Claude Desktop app, and it needs Claude Enterprise. The next section shows what each Claude plan allows; see also Which AI applications can go through the AI Gateway.

Claude Team or Claude Enterprise: what you can protect

Your Claude plan decides how far WASViking can see into Claude. Inference hooks are a feature the vendor offers only to Claude Enterprise organizations. They run on the vendor's servers, after a request leaves the person's device and before the model runs, and they are what lets WASViking inspect the desktop and mobile apps with nothing installed.

Claude Team has no inference hooks, and its desktop and mobile apps have no setting that sends requests anywhere else: the session goes straight to the vendor's service. No gateway, proxy or security product, from any supplier, can read or block those conversations. This is how the vendor designed the product, and it is the same for every customer. On Team, WASViking controls the app on company devices and inspects content where the vendor allows it, in the browser and in Claude Code.

What you want to do Claude Team Claude Enterprise How, and why
Inspect and block what people send in Claude Desktop (Chat and Cowork) before the model answers No Yes Enterprise: this page, through the organization's inference hooks. Team: the vendor offers no hooks and the app has no gateway setting.
The same on claude.ai in the browser Yes, on company devices Yes, on any device Team: the AI Guardian browser extension inspects pastes, typed prompts and file uploads in the managed browsers of company devices, and can block, warn or ask for a justification. Enterprise: the hooks cover every browser, and the extension can run alongside them.
The same in the Claude mobile apps No Yes The hooks run at the vendor, so phones and tablets are covered with nothing installed. On Team nothing on the phone can see the conversation.
The same in Claude Code (terminal and VS Code) Yes Yes Both plans: Assistant Guard or the AI Gateway on Claude seats. On Enterprise the hooks also inspect Claude Code.
The same in Claude in Chrome, Claude for Microsoft 365 and Claude in Slack No Yes One hook governs every Claude product of the organization.
Check tool calls before they run Claude Code only Yes Enterprise: with Validate tool calls on at the vendor, the hooks inspect tool calls before any of them runs, and their results on the next message. Team: Assistant Guard decides each Claude Code action.
Mask a secret and let the person go on In Claude Code In Claude Code The hooks answer only allow or deny, so nothing is rewritten. Masking happens in Claude Code, through Assistant Guard or the AI Gateway.
Protect without installing anything on devices No Yes Team: the browser extension works with the AI Guardian agent on the device. Enterprise: the hooks need nothing on the device; the agent stays useful for the device controls below.
See which devices have Claude Desktop and when it runs Yes Yes Desktop AI apps, reported by the AI Guardian agent.
Allow Claude Desktop only with the company account Yes Yes The lock package of Desktop AI apps applies the vendor's own organization-only sign-in setting through your MDM, Intune or GPO.
Refuse personal Claude accounts at your network proxy No Yes The vendor accepts the organization header from a proxy only for Enterprise organizations. The proxy needs TLS inspection; the network guide in Desktop AI apps has the values.
Stop Claude Desktop from opening on Windows Yes Yes Desktop AI apps, decision Prohibited: audit mode first, then enforce.
See who was protected, and who was not seen Claude Code and the browser Every Claude product Enterprise: the People tab of this page. Team: the Coverage tab of Assistant Guard and the person on each browser event.
The vendor's own record of each denial next to the WASViking event No Optional Store a Compliance Access Key with read scope in step 6. The vendor offers that key only to Enterprise organizations.

If you are on Claude Team and need the conversations people have in Claude reviewed by your policies:

  • Point people to claude.ai in the managed browser, where the extension applies your policies, and allow Claude Desktop only with the company account, or stop it from opening.
  • Keep developers on Claude Code under Assistant Guard or the AI Gateway.
  • Move the organization to Claude Enterprise and follow this page. Nothing changes on the devices.
  • Or run Claude Desktop in the vendor's third-party inference mode with the company API key through the AI Gateway. Billing moves from seats to tokens; see Which AI applications can go through the AI Gateway.

The limits of the hooks themselves, which apply on Enterprise, are in the next section.

What it does and does not do

  • The conversation has already reached the vendor when WASViking inspects it. A denial stops the model from processing it, not the transmission, and the denied message stays in the person's conversation. The person edits it, or starts a new chat.
  • The answer is allow or deny only. Nothing is rewritten or masked on this channel.
  • The whole conversation is inspected on every message, so a secret left in an earlier message keeps the conversation denied until it is edited. Repeats of the same finding are grouped in the activity.
  • Attachments arrive as extracted text. An image without text is counted, not inspected. Tool calls are inspected before they run, and their results on the next message.
  • The vendor does not say whether a request came from the desktop app or the web, and personal accounts outside the organization are not covered.
  • When WASViking cannot answer, it answers an error, never an allow, and your organization's own failure handling at the vendor decides (block or allow). Those requests appear as "not answered", never as safe.

Before you start

  • A Claude Enterprise organization. Only an Owner or Primary owner can configure inference hooks there.
  • The Assistant Guard add-on in your WASViking contract, and the ai_guardian.gateway.manage capability (Admin or Manager).
  • Rules on the coding assistant surfaces. The Standard preset in Assistant Guard is enough to start: it blocks secrets in prompts.

Step 1: turn it on and create a hook

In AI Guard, Protection, Claude Enterprise Protection, open the Configure tab. Step 1 holds the organization switch: turn it on and select Save. In step 2 give the hook a name and select Create hook. Copy the token: it is shown once. The Overview tab keeps a readiness checklist of what is still missing before production, with the state of the hook (off, connecting, observing or enforcing) computed from the real configuration.

Step 2: configure the vendor

Step 3 of the Configure tab, Connect WASViking to Claude Enterprise, shows the address and the header. On claude.ai, under Organization settings, Data and privacy, Inference hooks:

Where What to do
Allow for your organization Turn it on and open the Inference hooks settings page.
Configure Enter the address shown in WASViking, https://api.wasviking.com/api/v1/inference-hooks/....
Signing secret Store the secret the vendor shows once, then paste it in WASViking under Vendor signature (step 2) and select Store secret.
Custom request headers Add x-wasviking-hook-token with the token from step 1.
Test connection WASViking answers allow; the hook card and the page header show the last connection test.
Failure handling and timeout Choose Allow the request or Block the request; keep the timeout above the inspection budget in WASViking (3,500 ms by default).
Mode and Enforce verdicts Start with Shadow mode and the hook observing in WASViking.

Step 3: observe, then enforce

While the hook observes, the Activity tab records what would be denied without denying anything. Review it with your rules, then choose Enforce policies in step 4 of the Configure tab, select Save mode and turn on Enforce verdicts at the vendor. Step 5 simulates a prompt with a secret and a tool call through the real decision engine before anyone is blocked. Changes at the vendor take about a minute.

Step 4: follow the activity

The Activity tab shows every request: the person, the application as the vendor sent it, the verdict, the rule, what was found and where (the latest message, an earlier one, an attachment, a tool input), and the verdict time. Filters: hook, event, verdict, would be denied, not answered, repeats, person. The People tab lists who was protected and who in the directory was not seen. A row opens the event details (metadata and masked evidence, never the content); Export CSV downloads the filtered events.

Optional: store a Compliance Access Key (read scope) in step 6, Advanced settings. WASViking then joins the vendor's own record of each denial to the event here, and shows when the vendor let requests through uninspected or tripped its circuit breaker.

Rotate the secret or the token

  • Secret rotated at the vendor: paste the new one in WASViking. The previous one stays accepted for ten minutes, so deliveries in flight are not refused.
  • Token: select Rotate token in step 2 and update the custom header at the vendor right after.

Troubleshooting

What you see What to check
Test connection fails with a non-200 status The hook is off in WASViking, or the token in the custom header does not match.
Requests "not answered" The inspection ran past its budget (very large transcripts) or the hook was off. The vendor applied your failure handling.
Everything allowed while enforcing No rule applies to the channel. Apply the Standard preset in Assistant Guard.
A person keeps being denied The secret is still in an earlier message of that conversation. They edit it or start a new chat.
Vendor shows the circuit breaker tripped Fix the cause, then turn Enforce verdicts back on at the vendor.

What next