Zero Data Retention

Inferyes holds the document, prompt or parameters you send for as long as it takes to run your request, hands you the result once, and keeps neither. Below is what that means precisely, how to check it, and what we are not claiming.

What happens to a request

  1. 1

    We hold it

    The document, the prompt or the operation's parameters are kept in the database for as long as a run needs them — in the case of a document, until the text has been extracted and the steps that read it have run.

  2. 2

    We run it

    The request goes to a language model on our own self-hosted, on-premises inference servers. That is the only system outside this gateway that sees your content, and it sees it in order to answer.

  3. 3

    We hand it back, and clear it

    The result is delivered once: in the response to a synchronous call, or through GET /api/v1/runs/:id/output, which is an acknowledged fetch — taking the output is what clears it. An output nobody collects is cleared an hour after the run ends. The input is cleared the moment the run reaches a final state.

What remains after a run

Kept

  • Which model answered, and for which task
  • Token counts, latency and the time of the call
  • Which workspace and which API token made it
  • Whether a run succeeded, and its steps' outcome

Not kept

  • The document you sent — text and file alike
  • The prompt, and the parameters of the operation
  • The answer, once you have collected it
  • Any of the above in a log line

How to check it yourself

  • GET /api/v1/runs/:id — a finished run whose output you already took answers with an empty output and an output_cleared_at timestamp, so it is distinguishable from a run that produced nothing.
  • POST /api/v1/runs/:id/cancel — a cancelled run gives up its input on the spot.
  • Ask us for the log of your own calls: it names ids, counters and status codes.

What we do not claim

  • Not that no system sees your content: the model that answers your request sees it, and so does the gateway while the run is in flight. What we claim is that we do not keep it.
  • Not that we cannot read it. A gateway that runs inference must hold the content in readable form to send it to a model. Encryption at rest protects a copied or stolen backup; it is not a promise about us.
  • Not that our servers are the only copies in the world: whatever you sent came from somewhere you control, and that copy is yours to manage.

The gateway's routes are in the documentation, and the service's current numbers are on the overview.