HTSAI ships October 1 — Reserve yours

HTSAI

On-premise answer appliance

Your company’s own AI, on your own network.

A box that sits on your network and answers questions out of the files and systems you already have. It reads from them and never writes back, and it shows you where every answer came from.

$3,995Deployed!then $99 / month — support and updates

Ships October 1 · Preorders open

What it does

Answers out of what you already have.

Answers from your documents and data sources

Ask in plain language and get an answer built from your own files, with a citation for every one so you can open the source and check it yourself. No one has to trust the machine — they can look.

Exact numbers from your spreadsheets

Counting and totalling questions run as real database queries against your spreadsheet data, not as a language model reading a fragment and estimating. That distinction is the difference between a number you can put in front of a customer and one that is confidently wrong.

Connects to the systems you already run

QuickBooks, Salesforce, Jira and Microsoft Graph feed live business data alongside your files, so a question can reach the invoice and the email thread about it in the same breath. Connections are added by an administrator and secured by group for retrieval.

Private until you share it

Nothing is visible to anyone else by default. Hand a file or a whole folder to one person, a group, or the entire company — and the same rules apply to connected systems, so the accounting data is only ever in front of the people who should see it.

It reads, it never writes back

HTSAI takes a read-only view of everything you point it at. Server folders are mirrored, never edited; connected systems are queried, never updated. The original stays the original.

Getting it running

AI that’s easy to deploy, easier to keep running.

Most of what makes AI hard to adopt has nothing to do with AI. It is the licence tiers, the seat counts, the configuration project, the security review, and the bill that arrives bigger than the quote. HTSAI is built to remove all five.

One box, one install

The appliance arrives configured for your business. We put it on your network, point it at the folders that matter, load the document library you already have — however many years of it — and set up your people. There is no rollout project waiting on the other side of the sale.

No licences to manage

We do not count users. Nobody tracks seats, nobody reconciles a licence list at renewal, and nobody has to decide which five people deserve access. The standard box comfortably carries around fifteen people — more when they are occasional, fewer when everyone leans on it all day — and if you outgrow it there is a larger box. What you pay for the software never moves.

Adding and removing people takes a moment

A new hire gets an account and their own private area. Someone leaves and their access ends. Neither is a purchasing decision, and neither needs us.

You set the spending ceiling

About 15,000 questions come with the monthly rate, which most offices never approach. When a month runs heavy — a project, a deadline, a busy quarter — you add credits for that stretch and stop when it is done. Nothing renews behind your back, and no bill shows up that you did not approve.

Your data stays on hardware you own

The documents, the index and the spreadsheet queries all live on the appliance in your building. The only thing that leaves the network is the question itself and the passage it is answering from, sent to write the final wording. Your library never goes anywhere.

We watch it so you do not have to

Monitoring, updates, and hardware replacement are part of the monthly rate. We see a failed sync before you do. If the box dies, a new one comes at no charge.

Under the hood

How does it work? Great question.

When a document arrives

Every user’s documents live in a folder the appliance watches. A background service checks that folder on a schedule, compares every file against what it already indexed, and keeps the index in sync — files added, changed, or deleted are reflected automatically. Nobody has to re-run anything by hand.

1

Reading the file

How a file gets read depends on what it is.

Word documents
Read paragraph by paragraph and table by table, in the order they appear. An extractor that only reads paragraphs silently drops every table — and tables are often where the real content lives: line items, schedules, comparison grids.
PDFs
Read page by page. If one page’s text cannot be pulled directly — because that page is really a scanned image inside an otherwise normal PDF — that page alone runs through OCR, so a mixed document does not lose the pages that happen to be pictures.
Spreadsheets
Read cell by cell against their actual row and column headers, rather than assumed to be clean tables. Most real business spreadsheets are not.
Photos and scans
A small vision model writes a plain-language description of what is in the image. The photo’s own EXIF data — when it was taken, and where, if the camera recorded GPS — is folded into what gets indexed, so a photo can be found by date or place even if nobody wrote a caption for it.
2

Splitting it up without losing the thread

A document is too long to hand a model whole, so it gets split into smaller pieces. But a piece that starts mid-section with no idea what it belongs to is a piece waiting to be misread. Every piece carries a breadcrumb back to the section and sub-section heading it came from — so a bullet point still knows which employer, which project, which year it is talking about, even once it has been separated from the heading above it.

This matters more than it sounds. Real documents extract inconsistently between formats, and getting the structure — headings, dates, section boundaries — to survive that extraction reliably took real tuning against real documents, not just the tidy synthetic ones.

3

Working out what the document is

A second pass reads the document’s actual content — with the filename treated as a hint, never a verdict — and pulls out a governed set of attributes: the kind of document it is, the customer or vendor it names, the people involved, any document number, dates, and dollar amounts.

“Governed” means the list of valid document types is a fixed, versioned vocabulary rather than whatever word a model feels like using that day, so the same kind of document gets labeled the same way over time.

4

Two indexes, because one is not enough

Every piece goes into a search database that understands both meaning — so “how much did we charge” can find text that says “total due” — and keyword matching, so an exact SKU or invoice number is never missed for lack of an obvious meaning.

Spreadsheets get a second, different home: their rows also go into a real SQL database, because “how many invoices” is a database question, not a search question, and only a database gives an exact answer.

5

Guardrails, so ingestion cannot break itself

  • Backup copies and files left over from a failed ingest attempt are recognized and excluded, so they never compete with the real document for a search result.
  • Large documents are embedded in batches rather than one giant request, so an oversized file cannot time out and take the whole pipeline down with it. A batch that fails is retried with a growing wait instead of hammering the same failure in a tight loop.
  • A document is marked indexed only after every step for it has actually succeeded. A document that failed partway through can never be cited in an answer as though it were whole.

When a question is asked

Retrieval is not one step. Before anything is searched, the system works out what shape of answer the question actually needs — and it is allowed to conclude that it does not know.

1

Understanding the question

Some questions want one specific document. Some want a complete set — every invoice for this customer — where a partial answer is worse than a slow one, because it will be silently wrong. Some want a fact synthesized across many documents, like every employer a person has worked for.

That last kind is a different problem entirely: the fact might be scattered across a resume, several cover letters, and a reference letter, and the job is to compile one accurate answer rather than hand back whichever fragment happened to rank highest.

2

Remembering the conversation

A follow-up like “what about the other one” means nothing on its own. It gets resolved against what was actually discussed, so a subject-less follow-up does not go searching for whatever happens to be semantically nearest to those four words.

If someone says “only look in the resume folder,” that restriction is honored and stays in effect for the rest of the conversation until it is changed. It does not quietly get dropped on the next question.

3

Searching two ways at once

Every search runs both a meaning-based search and a keyword search, and the two result sets are combined. A document using different words than the question, and a document carrying the exact code or number the question named, both get a fair shot at being found.

4

Filters that help, never hide

The system pulls likely filters out of the question itself — a customer name, a document type, a date range — but a filter only ever boosts a document’s ranking. It never removes a document from consideration.

That distinction matters because filter extraction is not perfect. An apostrophe, a job title that reads like a person’s name, any number of small misreads — and a hard filter would let one of those make the right document invisible.

The one filter that is absolute is ownership. A user only ever sees results scoped to their own files and whatever has been explicitly shared with them, checked on every single search the system runs, with no exceptions.

5

Reranking, and knowing when to say no

The system pulls back more candidates than it needs and re-scores them with a second, more careful model built specifically to judge relevance rather than similarity, before deciding what goes into the answer.

If nothing clears the bar, it says so — “I could not find that” — instead of answering from whatever happened to be closest. A system that always answers with something, even when nothing is actually relevant, is worse than one that sometimes admits it does not know.

6

Complete answers when completeness is the point

For “list every invoice” questions, the system does not stop at a fixed number of results. It returns the complete set, with a true total, even when that set runs into the hundreds.

7

Numbers come from the database, not from reading

How many, what is the total, which one is biggest — these get routed to the real SQL database built from your spreadsheets, instead of being answered by having a language model eyeball a handful of retrieved text fragments and guess.

Counting a fragment of a spreadsheet and calling it the answer produces a confident number that is often wrong. A database query does not have that failure mode.

8

Citing sources honestly

Every answer cites what it is based on. And the system is taught, explicitly, what a document actually proves: a cover letter names the person it was addressed to, which is not evidence that person worked there. A quote or a purchase order names a counterparty, which is not by itself evidence of an ongoing relationship.

Getting that distinction right is the difference between an assistant that sounds confident and one that is actually correct.

$3,995Deployed!then $99 / month — support and updates

Ships October 1 · Preorders open