Skip to content

It hunts alone.
It answers to you.

Kestrel resolves the ticket before your tech opens it — inside the helpdesk you already run.

Category
Endpoint remediation middleware
Ticketing
Agnostic. Yours, not ours.
Default state
Hooded — observe only

The loop

One ticket, start to finish, without a human in it.

Five systems, five seconds of reading. Each one has a falconry name and a plain-English job. The names are in the docs and in the console; you never have to guess what one means.

  1. Jess

    ticketing fabric

    Ticket arrives

    +0.0s

    A webhook fires from Zendesk. Jess normalises it into one ticket schema, correlates the requester to a device, and hands Stoop the original words — not a classification of them.

    INC-40122 · "printer just spins, nothing comes out"

  2. Stoop

    orchestration

    Kestrel diagnoses

    +6.2s

    Bells telemetry is pulled and frozen at decision time. Runbooks and prior resolutions are retrieved. The model reads all of it and selects exactly one named action, with typed parameters. It cannot write a command.

    quarry.printspool.restart · confidence 0.94

  3. Creance

    autonomy engine

    Creance authorizes

    +6.3s

    Deterministic code, not model output. Risk tier, device group, device health, time window, rate limit and reversibility, evaluated against a rule a human wrote. It permits, or it asks you.

    rule 7 · Standard Laptops · allow unattended

  4. Talon

    endpoint agent

    Talon fixes

    +38.9s

    The agent verifies the identifier against its own signed bundle, snapshots state, escalates for one call, executes, drops privilege, and compares post-action telemetry against the pre-action state.

    exit 0 · 8.4s · verified against pre-action snapshot

  5. Jess

    ticketing fabric

    Ticket closes in your tool

    +41.0s

    A resolution note is written back into Zendesk under an idempotency key, so a retry can never duplicate it. Your tech never opened the ticket. Flightlog holds every step of this, verbatim.

    INC-40122 · solved · 41s unattended

Timings are measured against the Lure sandbox fleet. They are not customer results — we do not have enough of those yet to quote, and we will not quote them until we do.

The leash

A creance is the long line. The bird flies free. It never flies away.

Three modes. You are holding the dial, and it only moves when you move it. Turn it down at any time; the change takes effect on the next decision, not the next deploy.

Autonomy mode

Kestrel watches. It executes nothing.

Every new tenant starts here, and there is no way to skip it. Kestrel reads tickets, pulls telemetry, diagnoses, and writes a recommendation into the queue. Your tech decides. Most design partners spend four to eight weeks in this mode, and the product is already useful: the diagnosis and the runbook are on screen before anyone opens the ticket.

Permitted

  • Read tickets
  • Collect telemetry
  • Diagnose and recommend
  • Draft resolution notes

Refused

  • Execute any action
  • Change any device state
  • Write to your helpdesk

Kestrel stages the fix. You press the button.

The action is chosen, parameterised and ready. The approval card shows what will happen to the machine, the risk tier, whether it can be rolled back, and how the same action has performed across the fleet — 214 runs, 212 clean, 2 bated and restored. A three-second judgment replaces twenty minutes of investigation.

Permitted

  • Everything in Hooded
  • Stage a named action with parameters
  • Execute on explicit human approval
  • Write back on resolution

Refused

  • Act without a click
  • Escalate its own permissions

Kestrel acts inside the box you drew. Never outside it.

You write the rule: which actions, which device groups, which hours, how many times per day, and only if the action is reversible and the device is healthy. Creance is deterministic code — it evaluates that rule and permits or refuses. Anything outside the rule still comes to you. Narrowing takes effect immediately; widening requires a written reason and lands in the audit record.

Permitted

  • Everything in Approve-each
  • Execute unattended for actions you named
  • Inside the groups, hours and rate limits you set

Refused

  • Irreversible actions, at any setting
  • Anything above the tier you granted
  • Anything at all after Recall

Works inside your helpdesk

We don’t want to replace your helpdesk.
We want to make it quiet.

  • ZendeskWebhooks · Writeback · KB
  • ServiceNowWebhooks · Writeback · CMDB
  • FreshserviceWebhooks · Writeback
  • Jira Service ManagementWebhooks · Writeback
  • ConnectWisePolling · Writeback

Kestrel writes back into the tool your team already has open. Your techs do not learn a new console.

Capabilities differ per system and we publish the differences rather than averaging them into a uniform grid. Full per-connector limitations are in the integration docs.

What it actually fixes

Unglamorous, repetitive, and 40% of your Tier 1 queue.

Not “IT problems”. These six, by name, with the action identifier that resolves each one.

  • “Printer just spins, nothing comes out.”

    quarry.printspool.restart

    Stops the spooler, clears the queue directory, restarts the service, prints a test page to confirm.

    Tier 0reversiblemedian 41s
  • “Outlook keeps asking for my password and won’t open.”

    quarry.outlook.ost.rebuild

    Detects the corrupt OST, closes Outlook cleanly, renames the profile cache, lets the client rebuild from the server.

    Tier 1reversiblemedian 4m 12s
  • “VPN stopped connecting after the update last night.”

    quarry.vpn.adapter.reinstall

    Reinstalls the virtual adapter the OS update orphaned, restores the route table, reconnects and verifies the tunnel.

    Tier 2reversiblemedian 2m 38s
  • “Machine says the disk is full and I can’t save anything.”

    quarry.disk.logrotate

    Finds the runaway log directory, verifies it against the known-safe path list, truncates by age, reports what it removed.

    Tier 1not reversiblemedian 55s
  • “The S: drive is gone again.”

    quarry.smb.credential.refresh

    Re-establishes the mapped drive against the stored credential, refreshes the Kerberos ticket, confirms a directory listing.

    Tier 0reversiblemedian 18s
  • “Screen flickers and goes black since Tuesday.”

    quarry.driver.rollback

    Identifies the display driver pushed by the vendor on Tuesday, snapshots current state, rolls back to the prior signed version.

    Tier 2reversiblemedian 3m 05s

The full library — every action, its platforms, its risk tier, its rollback procedure and its observed success rate — is generated from the signed manifests and published at the Quarry reference. We do not keep a private list.

What it will not do

Six things Kestrel cannot be configured to do.

Not policies we promise to follow. Capabilities the system does not have. If one of these turns out to be negotiable, the product is broken and we would rather you found out here.

  • It will not run an unsigned script.

    The model does not emit code. It selects an identifier from Quarry, a signed and versioned action library, and supplies typed parameters. Talon verifies the signature against its own local bundle before it does anything. There is no configuration flag that permits arbitrary execution — not for you, not for us, not for support.

  • It will not take a shell string from a language model.

    There is no code path where model output reaches a shell. If an attacker fully controlled the model, the worst available outcome is a valid action, with valid parameters, that Creance still has to authorize.

  • It will not be autonomous by default.

    Every new tenant, device group and action starts Hooded (observe only). Autonomy is granted explicitly, per action, per risk tier, per device group, per time window. It is never inherited and never defaulted on.

  • It will not run an irreversible action unattended.

    Reversibility is a declared field in the action manifest with a mandatory rollback procedure. An action marked irreversible cannot be promoted above approval-required, no matter how good its success rate gets. The policy UI makes it structurally impossible to configure, not merely discouraged.

  • It will not idle with privilege.

    Talon runs as an unprivileged service account. It escalates for a single named action through a platform-native broker and drops the token in the same function call. It never sits as SYSTEM or root waiting for work.

  • It will not fail quietly.

    A failed action is Bated: rolled back to the pre-action state, recorded as a first-class audit object, and escalated to your queue. We publish the bate rate on the main console screen. Swallowed errors are how automation loses a fleet.

Design partners, ten fleets, one quarter.

You run Hooded for a month at no cost. If the diagnoses are not right, you have lost nothing and we have learned something. Bring your worst recurring ticket type.

Book a design-partner call