Skip to content

Docs

Security and data handling

Understand who can receive an answer, how your records are protected, and where to find the details about your data.

Your customer’s email starts a job. Your records and policy determine what OrderJay is allowed to do. When a check fails, the job needs your team.

Can an email change my rules?

An email cannot authorise a new delivery address, change payment terms or bypass your limits. The component that interprets email cannot send replies or write orders. Separate checks must confirm the buyer, product, quantity and permitted action against your records.

Customer replies use templates filled with verified facts. The interpretation model does not write the sentences your customers receive.

Who can receive an answer?

The sender must pass email authentication and be recognised as a contact for one of your companies. An unknown or unverified sender receives no automatic reply, including to a price question.

Replies go to the authenticated address. A Reply-To address outside the company stops the job; it does not redirect the answer. Copied recipients are restricted to the retailer’s addresses and domains. A free consumer email domain does not identify a company.

While replies leave from our mail domain rather than your own, the same rule covers the replies your team writes by hand: they go only to a sender whose address authenticated in that conversation. Mail from senders OrderJay does not recognise is read within a daily allowance; past it, such a message is listed under Other mail, marked as not read, and nothing is sent.

Email authentication details

Verification requires a passing DMARC result, an aligned DKIM signature, or a verified chain from the forwarder. A result claimed in a header that OrderJay cannot verify is treated as unverified. These checks also apply to informational replies.

What is sent for interpretation?

Interpretation uses message text, labelled quoted and forwarded parts, extracted attachment text, the subject and filenames, and relevant quote context. Credentials are not included. Prior-thread context is limited to the last two quote-stripped turns.

An attached image or scanned PDF has no text to extract, so the file itself is sent first to be transcribed into text — one file at a time, and only once the sender has been recognised as a contact of one of your companies. Other documents are read by OrderJay and only their extracted text is sent.

Our interpretation provider processes these requests directly and is listed in the Privacy Policy’s service-provider section. Its published API terms state that inputs and outputs are not used to train models. This describes the provider’s published position.

Where can I check how my data is handled?

What happens when I leave?

Uninstalling the Shopify app revokes access and stops syncing. Data deletion follows Shopify’s redaction request, with a backstop for installations uninstalled for more than 30 days. Uninstalling and deleting the stored data are separate steps.

For Zoho, disconnecting removes access. Data deletion is handled on request; Zoho does not send an automatic uninstall or redaction signal. See the DPA’s deletion and return terms for the full process, timeframes and export requests.

How are the safeguards tested?

Our internal test suite checks hostile emails and ordinary wholesale requests against simulated Shopify and Zoho systems. It checks both that attacks are blocked and that legitimate requests still get the expected outcome.

Test coverage, results and limits

A structural claim is worth what the attempt to break it is worth, so there is a gate that attempts it and it runs before anything ships. The corpus is 108 adversarial cases and 18 ordinary ones, run once against each of the 2 systems of record it is published for, Shopify and Zoho — 252 cases a run, through the same entry points the product uses, driving the shipped desk.

What was tried:

  • Instructions hidden in the message body
  • …in quoted history further down the thread
  • …in the text of an attachment
  • …in an attachment's filename
  • …in the subject line
  • A Reply-To pointing somewhere else
  • A rival retailer added to Cc
  • A ship-to address swapped at the last moment
  • A lookalike domain, a free-mail address, our own mail replayed
  • A purchase order replayed to order twice
  • A price moved while the action was still held
  • A draft edited in the Shopify admin mid-hold

The interpreter is hostile in every injection case. It is scripted to say exactly what the injected text demanded, so no case can pass because a model happened to behave well. What refuses has to be the structure.

The 18 ordinary messages are half the claim. A desk that never acts is trivially safe. Each of them must cause exactly the effect it declared — including the 2 whose correct answer is to do nothing at all — and the gate fails if one does not.

23 of the 108 still ended in an action. A reply went out, or an order was created and committed — the order in 19 of them. Those are not failures: the attack was ignored and the honest request underneath it was answered, or the order was written and the desk stopped there because the store did not agree with what it read back, sending nothing and telling a person. The number the gate holds to zero is the one it defines as consequential — effects beyond the ones a case declared correct — and what none of them got was the thing the injected text demanded.

Three things it is not. It is not an outside audit — it is our own gate, which is precisely why it is run before every release rather than once a year. It does not run against a real store: the desk and the kernel are the shipped ones, and the system of record is a stand-in. And it is not a percentage of anything: these are counts of a fixed set of cases.

How are incoming system events checked?

Public intake routes are rate limited. Webhook signatures are verified before processing, and duplicate events are identified. OrderJay re-reads the relevant record from the source before applying an update.

For the terms that govern data processing, read the Privacy Policy and Data Processing Agreement.

Back to the startBack to the setup guide

Product claims last reviewed 2026-10-19. For binding data-processing terms, see the Privacy Policy and the Data Processing Agreement.