Contracts.io

One field, not a form: how contracts.io reads your sentence

There is one field on the front page and no model behind it. Your sentence is read in your own browser until there is an account for the work to belong to.

5 min read


Most ways of starting a contract ask you questions first. Party one, party two, effective date, term, jurisdiction — and by question six you are filling in a form about a deal you already understand perfectly well.

contracts.io asks for a sentence. Describe the contract, the way you would say it out loud to the person you just agreed it with. That is not a smaller form; it is a different order of operations, and the interesting part is what happens between typing and pressing.

Nothing runs at the door

The rule is short: no model reads your words until there is an account for the work to belong to.

Not "we anonymise it", not "we only send a snippet", not "we discard it after processing". Nothing goes out. You can type an entire deal into the field on the front page, sit there, and no request leaves the page carrying it.

This is checkable from outside, which is the only reason it is worth claiming. Open the network panel, type, press, and count. The number is zero.

So what is reading it before then?

Your own browser, using wordlists and patterns.

While you type, the page is working out shape rather than meaning. Which kind of agreement this sounds like. Whether you have named the other side. Whether a place has come up that is also a body of law. Whether there is something in there that looks like money, or like a date. That is matching against lists that shipped with the page, running on your machine, and it is enough to make the field feel awake without a byte going anywhere.

Suggest, never apply

Here is the part that matters more than the mechanism: nothing the field hears gets used.

What it hears becomes an offer. A small button, sitting apart from the answers you actually chose, saying which of your own words it heard. Press it and the fact is yours. Ignore it and nothing happened. Refuse it once and it does not ask again.

Nothing is ever preselected. The governing law control opens with no answer in it, because a jurisdiction is a fact you state about your own deal and not a default somebody picked for you — and a chip you did not choose looks exactly like a chip you did. That is a rule the code enforces rather than a habit it has.

The same rule holds all the way down. Nothing further along is allowed to re-read your sentence and quietly fill the blank itself, because that would move the guess one file along and turn the offer into theatre.

None of this can tell you what your contract means, and it does not try. It reads shape, not substance, and the moment it would need to be more than that is the moment it stops and hands over.

The four laws of the field

They are the promises this control keeps, and they are short enough to hold in your head:

No AI at the door. The model runs after sign-in, never before.

Heard, never taken. The mic listens in your browser. Nothing is transcribed and taken away, and if the browser has no recogniser the page says so rather than pretending.

We will not invent a party. If you did not name the other side, the paper does not get a plausible-looking company inserted where a real name should be. A blank is more useful than a guess, because a blank is visible.

Nothing leaves this screen. Not until you press something that says it is going to send.

What the press actually does

Press Draft it while signed out and a gate appears. It says what has not happened: nothing has been sent, and nothing has run.

That is the whole mechanism. The gate is not a paywall — the product is free while we are in early access. It is the boundary where the work needs somewhere to live: a model reading your sentence produces a draft, and a draft has to belong to someone. Before there is an account, there is nothing for it to belong to, so there is nothing to run.

Sign in, and the same press does what it always looked like it would do.

Why the field is on the front page at all

Because a working control beats a screenshot, and everything above is the kind of claim you should not have to take on faith.

The composer on the homepage is the one the app mounts. Same field, same plus that opens your own file picker on the first press, same mic, same governing law list with its regions and its search. Nothing is a mock and nothing is wired to a demo script.

So you can check every sentence in this post against the field at the top of the site, which is the point of building it that way.