agentsmith.law
status waitlist · readable by people and agents

Know when the other side is using stolen data about your client. Then prove it.

Agentsmith is a portal for lawyers, licensed investigators, and the agents that work for them. It plants true, unique markers in a client's own channels, watches licensed breach and dark-web archives for them, and turns a match into evidence a court can weigh. Agents can read this site as text/markdown and join the waitlist over JSON.

The problem #abstract

A party in litigation or negotiation learns facts about the opponent that appear nowhere in the record: an old password, a document that lived only on a laptop, a private message.

The likely source is a breach dump or an infostealer log traded on dark-web markets and Telegram. Ethics rules generally do not require the receiving lawyer to say where it came from. Courts can preclude its use, even against counsel who did nothing wrong, but only on proof of provenance.

Portals into leaked data exist for corporate threat teams and police. None ties a marker the client planted to its appearance in a leak and then to the adversary's use, with lawful sources ruled out. That correlation is the product.

Method, in order #method

Four steps on exactly one named client, with a signed authorization on file. Queries run only on that client's own identifiers.

  1. Baseline

    Pull the client's own records from licensed breach engines by API. Hash and timestamp every pull into an immutable store. Sequester anything that is not the client's own, unread. Label each field as breach-only (passwords, security answers, registration IPs, infostealer machine artifacts) or people-search-available (old addresses, phones, relatives). Only the first kind can carry an opinion.

  2. Seed

    Issue true, unique markers, one per channel: a real email alias, a real phone number, a real document, each given to exactly one counterparty or stored in exactly one place. The portal ranks channels by breach likelihood and seeds lawful channels too, so a marker that surfaces names its own path.

  3. Watch

    Query licensed breach engines and dark-web crawl archives for the client's identifiers and every marker. Alerts carry date, source, and content. Message contents are stripped.

  4. Compare

    Read the other side's filings and letters against the baseline and the marker register. Pull every lawful source on a dated capture and check it. Rule out compromise of the client's own accounts. A person signs a report built for Rule 702 and its state analogs, with a motion kit for the remedies a court can actually grant.

Design rules #constraints

The method only works if the firm using it has clean hands. These are enforced in the portal, not written in a policy.

subject
Only the authorized client. Never the opposing party, witnesses, or opposing counsel. There is no lookup interface for anyone else.
truth
Every marker is true. A fabricated detail in a letter or a produced document is a rules violation and, in some states, a crime.
beacons
Nothing hidden in a document. Per-recipient marks are disclosed.
sources
No dumps bought, nothing posted. Markers reach illicit sources only by sitting in a channel that later leaks.
credentials
A found password is never used. Not once, not to check.
signature
A person signs. The AI labels, triages, and drafts. Nothing it wrote is filed unread.
corpus
No breach database of its own. Data is licensed per query from established archives and cached per client, for that client only.

Why it holds up #evidence

Planted data has long been accepted as proof of copying and provenance: fictitious directory entries, seeded databases, a post shown to one account. Breach-only data classes cannot come from any lawful source. Seeding lawful channels alongside illicit-prone ones turns a negative proof, that no lawful source could have supplied a fact, into a positive one: the marker that surfaced names its path.

Old addresses, phone numbers, and relatives are never treated as evidence. Any people-search site sells them.

For agents #interfaces

Everything on this page has a machine twin. Read the site as Markdown, fetch the agent card, and submit an inquiry over JSON. No lookup interface exists and none is planned.

GET/llms.txtShort index.
GET/llms-full.txtFull description. Also served at / with Accept: text/markdown.
GET/.well-known/agent-card.jsonWhat this site offers, as JSON.
GET/waitlistJSON Schema for an inquiry.
POST/waitlistSubmit an inquiry as application/json. Returns 201 with an id, or 400 with errors.
# submit an inquiry for a principal
curl -X POST https://agentsmith.law/waitlist \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jordan Lee",
    "email": "jordan@example.com",
    "role": "agent",
    "organization": "Lee Family Law",
    "situation": "Client keeps hearing facts that are not in the record.",
    "agent": {"name": "intake-assistant", "operator": "Lee Family Law"}
  }'
show the JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agentsmith.law/waitlist",
  "title": "Agentsmith waitlist inquiry",
  "description": "POST this object as application/json to https://agentsmith.law/waitlist. A person or an agent acting for a person may submit. Do not include anyone else's private data.",
  "type": "object",
  "required": [
    "name",
    "email",
    "role"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "description": "Name of the person the inquiry is for."
    },
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 200,
      "description": "Address a reply can go to."
    },
    "role": {
      "type": "string",
      "enum": [
        "lawyer",
        "investigator",
        "client",
        "agent",
        "other"
      ],
      "description": "lawyer, investigator (licensed), client, agent (submitting for a principal), other."
    },
    "organization": {
      "type": "string",
      "maxLength": 160
    },
    "jurisdiction": {
      "type": "string",
      "maxLength": 80,
      "description": "State or jurisdiction of the matter, if any."
    },
    "situation": {
      "type": "string",
      "maxLength": 1500,
      "description": "One or two sentences. No third-party personal data."
    },
    "agent": {
      "type": "object",
      "description": "Present when an agent submits on someone's behalf.",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 120
        },
        "operator": {
          "type": "string",
          "maxLength": 200,
          "description": "Who runs the agent."
        }
      }
    }
  },
  "additionalProperties": false,
  "response": {
    "ok": "boolean",
    "id": "string, present when stored",
    "errors": "object, present on 400"
  }
}

Where it stands #status

Agentsmith is under development. The legal and technical feasibility work is done. The portal is being built on licensed data from established breach and dark-web archives and holds no breach corpus of its own.

The waitlist is for lawyers, licensed investigators, clients who expect a long fight and want the record started now, and the agents that work for any of them.

Join the waitlist #waitlist

Your inquiry is stored privately and used only to reply to you about Agentsmith. Sending it does not create an attorney-client relationship.