DRAFT — placeholder pending owner review. Not final; may change before paid launch.

Last updated:

TaxClaw Cloud — Privacy Policy

TaxClaw is a service of Outbranch Network LLC.

This is a draft placeholder. It has not been reviewed by the owner or by counsel and is not final. It may change before paid launch. Text marked [Pending review] is an open item that has not been decided or verified.


The short version

We're not processing anyone's taxes. We're helping get the documents in order. TaxClaw Cloud turns tax documents (W-2s, 1099s, K-1s and similar forms) into structured data for you, your accountant or your tax software. It performs extraction on documents you supply and returns the results only to you. It does not prepare, review or file returns, give tax, legal or financial advice, place amounts on return lines, or compute tax liability. Outbranch Network LLC is not a CPA firm, a law firm or a tax preparer.

TaxClaw Cloud is built for AI agents. There are no accounts, no email addresses, no sign-in, no OAuth and no passwords. Your agent identifies itself only by the cryptocurrency wallet address it claims free pages with or pays from. Because the documents we handle are among the most sensitive a person has, this policy is built around one design rule: we process your documents in memory and keep no copy of them.


1. What this policy covers

This policy covers the Service: the remote MCP server at mcp.taxclaw.net, its extraction backend, payments for the Service, and support correspondence about it.

It does not cover:

2. Information we receive, and how long we keep it

2.1 Documents you submit (transit data)

How documents arrive. Your agent sends each document to the Service in one of two ways:

  1. inline in the request as base64 (practical for files up to about 3 MB); or
  2. by file_url, a public https address your agent gives us, which we fetch (public addresses only, at most 20 MB, with a 20-second time limit).

Supported files are PDF, PNG, JPEG, TIFF and WebP, up to 20 MB and 50 pages per call.

What they contain. Everything printed on the page: names, Social Security numbers and other taxpayer identification numbers, employer identification numbers, account numbers, addresses and dollar amounts. Treat every document you send as containing all of these.

What we do with them. The free quote tool counts pages and computes a SHA-256 fingerprint of the file; it needs no wallet and no payment, and it does not send the document to any AI provider. The extract_document tool forwards the document, over an authenticated connection, to our extraction backend, which opens it in memory, renders each page to an image, and sends page images to the AI providers in section 4 to read the fields. The PDF's text layer is read only inside our backend, to recognize the form type without a model call and, if you ask, to locate identifiers to mask (section 4.5). It is never sent to OpenAI or Anthropic. Once the TypeSafe judge is switched on (section 4.1), a few lines of it may be sent to TypeSafe for a field the two reads disagree on. Pages that look blank are not sent to any model. The backend assembles the results and their provenance and returns them to your agent.

How long we keep them. Document bytes are held only in memory while the call runs and are dropped when it returns. They are never written to disk, to our database or to logs.

2.2 Extraction results

What they are. For each document: the document type, tax year, payer and recipient, the extracted fields with a confidence value and needs_review flag for each, warnings, the data_handling field (section 4.4), a processed_by field naming the models and providers that read the pages, a standard object (the TaxClaw core version, its schema version and the form schema used), a billing receipt, and on request a Form 8949 CSV or TXF file. Each successful extraction also returns a signed TaxClaw receipt, which contains no extracted values (section 2.6). The build_tax_packet tool is not connected yet and processes nothing.

How long we keep them. Results are returned in the response and are not stored. When an extraction takes longer than the inline wait, the Service returns a job_id and keeps running; its final result is written to our database so your agent can fetch it with get_job. A job result can be read for at most 1 hour after the job completes (an unfinished job is abandoned after 1 hour), and only by the wallet that started it. Expired job rows are deleted the next time any job is created or read, and by a daily cleanup sweep. Extracted values are never written to logs. After we return them, the results exist only where your agent and you put them.

2.3 Wallet and free-page claim records

There are no accounts. The only identifier we hold for you is a wallet address.

2.4 Usage records (the ledger)

For each extraction request we keep: the wallet address, the request's idempotency key, the SHA-256 fingerprint of the document, the file type, the page count, the free pages applied, the pages charged, the amount, whether the call was free or paid, the request status, the settlement reference for a paid call, and timestamps.

The fingerprint cannot be turned back into the document. It lets us recognize the same file if it is submitted again (so a retry or a re-extraction of an already-paid document is not charged twice) and lets an extraction call be matched to its quote.

We also keep:

2.5 Payments and tax records

x402 payments (USDC on Base). The Service is paid only by x402, per call, from your agent's wallet in USDC on the Base network. Your agent signs a payment authorization for the exact quoted amount; we verify it with an x402 facilitator before doing any work, perform the extraction, and settle the authorization only after extraction succeeds. A failed extraction is never settled.

Tax-compliance records. How sales and similar taxes apply to payments from wallet-only payers is unresolved [Pending review]. The Service does not currently ask for, derive or record your location (including from your IP address), and no sales-tax engine receives any data today. Whether location or business/personal-use information will be collected for tax purposes, which tax engine (if any) is used, and how long payment and tax-compliance records are kept are [Pending review]. Any such records will contain nothing about your documents.

2.6 Signed receipt records

Signed and anchored. Each successful extraction returns a signed receipt, and our signer set is published at https://mcp.taxclaw.net/.well-known/taxclaw-receipts.json. Batches of receipt digests are anchored on the Base blockchain once a day (scheduled 06:00 UTC); only a batch root goes on chain.

What the signed receipt is. Each successful extraction, free or paid, returns a signed TaxClaw receipt: an EIP-712 signature by a TaxClaw signing key over a short, fixed set of fields: (a) the SHA-256 of the input document (the same fingerprint quote returns); (b) the SHA-256 of the extracted output; (c) the TaxClaw standard name, core version and schema version, with a link to the published benchmark; (d) the document type, tax year, page count and the number of fields flagged for review; (e) the AI providers and models that read the pages; (f) the payment reference: for a paid call the network, the transaction hash, the amount and the paying wallet address, and for a free call the wallet the free pages were granted to; (g) the time of issue; (h) a hash of the request identifier, never the identifier itself; and (i) our signer address. The schema is closed and checked at issuance, so extracted values, names, identifiers and free text cannot enter a signed receipt.

What goes on the blockchain. We collect receipt digests (hashes) into batches, compute a Merkle root over each batch, and publish that root on the Base network through the Ethereum Attestation Service (EAS): one transaction per batch, on a schedule (currently once a day, scheduled 06:00 UTC), nothing per document. A batch root is a hash of hashes; it cannot be reversed into any receipt, document, value or wallet. The exact on-chain record fields are [Pending review]. Receipts signed before anchoring was switched on are included in later batches, oldest first. On-chain records are permanent and public. Nothing we do, and nothing you request, can remove them.

What we keep. For each signed receipt: the receipt digest, the identifier of the key that signed it, and the timestamp; once it is batched, also the batch it belongs to and its position in that batch (the Merkle proof). We keep no document values. Anyone holding a receipt can check it with the free verify_receipt tool against our signer set at https://mcp.taxclaw.net/.well-known/taxclaw-receipts.json. How long receipt records are kept is [Pending review].

What it proves. Origin and integrity only, never accuracy: that an output came from TaxClaw Cloud under a stated standard version, and that it has not been altered since. It is not a statement that the output is accurate, complete or fit for filing. The Terms of Service say so and prohibit presenting a receipt as a certification of tax data.

2.7 Hosting, security and operational logs

Our hosting provider (Vercel) records basic request metadata for security and reliability: IP address, user agent, timestamp, route, status code and timing. Request metadata may place an IP address and a wallet address in the same log line. Our extraction backend writes one fixed-shape log line per request (route, status code, page count, number of model calls, elapsed time and an error code) and nothing else. Our MCP server logs only named operational events (for example, a configuration refusal) without request bodies. We never log request bodies, document content, extracted values or signed payment authorizations, and errors from AI providers are reduced to a short code because they could quote document values. How long hosting logs are retained is [Pending review].

2.8 Support correspondence

We do not collect an email address from you, and we have no way to contact you unless you contact us. If you email lando@outbranch.net, we keep the correspondence for a period that is [Pending review]. Please do not send tax documents, Social Security numbers or account numbers by email; support cannot see your documents because we do not have them.

3. How we use information

We use the information above to:

What we do not do:

4. AI providers: the data map

4.1 How a document is routed

Reading the fields on a page is done by third-party AI models, called directly through each provider's own API (api.openai.com and api.anthropic.com), never through a model router. Every page that is not blank is rendered to an image and:

  1. read by a primary model (OpenAI gpt-6-luna);
  2. read again by a cross-check model from a second provider (Anthropic claude-haiku-5-5);
  3. when the two reads disagree, first put to TypeSafe's Jev judge (jev-1.13.0), which picks which of the two values the page's text layer shows. This step is not switched on yet; while it is off, TypeSafe receives nothing. A page goes on to escalation unless Jev settles every disputed field with high confidence. A field Jev settles is always flagged needs_review. Pages with no text layer, or where a disputed field is an identifier (a Social Security number, ITIN, EIN, account number or state ID), are never sent to Jev;
  4. sent to an escalation model (OpenAI gpt-6-sol) when the two reads still disagree or a read fails.

Brokerage lot detail (1099-B rows for a Form 8949) is read by the primary model only. If the cross-check provider is not configured, the cross-check is skipped, that provider receives nothing, and every field is flagged for review. An escalation is never charged to you twice; it is recorded only in our provider-cost records. Models may change (section 4.3); the processed_by and data_handling fields in each response name the models that actually read your pages.

Whether every provider endpoint processes your pages only in the United States is [Pending review].

4.2 Providers

ProviderWhat it receivesWhyRetention of inputs and outputsTraining on your dataProvider privacy terms
OpenAI (gpt-6-luna, gpt-6-sol)Rendered page images, plus our extraction instructions and field schema. Never the PDF text layer.Primary read of every page; escalation when reads disagree or fail[Pending review][Pending review]https://openai.com/policies/privacy-policy
Anthropic (claude-haiku-5-5)Rendered page images, plus our extraction instructions and field schema. Never the PDF text layer.Cross-check read of every page[Pending review][Pending review]https://www.anthropic.com/privacy
TypeSafe AI, Inc. (Jev jev-1.13.0). Not switched on yet; receives nothing until it is.Only for a page where our two reads disagree, and for each disputed field: the form type, the field name, the two values the reads returned, and up to 4 lines (160 characters each) of that page's PDF text layer that contain those values, together with the line above each. Social Security number, ITIN and EIN patterns are masked to their last four digits before sending. Never page images, whole pages, the PDF, other pages, the values the reads agreed on, or identifier fields.Choosing between two disagreeing reads before a page is escalated (section 4.1)Zero data retention is on for our TypeSafe account: inputs and outputs are deleted once the response is returned (confirmed by TypeSafe on 2026-10-23)No. TypeSafe's privacy policy says it does not train or fine-tune models on customer inputhttps://typesafe.ai/legal/privacy-policy

4.3 Changes to providers

We will add a provider to the table in section 4.2, and update the "Last updated" date, before that provider receives any customer document.

4.4 Per-response disclosure: data_handling and processed_by

Every extraction response includes a data_handling field that states which provider received which pages, that it received page images, that no text-layer content was sent, the outcome of any identifier masking, and our retention statement, plus a processed_by field naming the backend, models and providers. Only calls that actually sent a page are listed. You do not have to trust this policy alone: your agent can check each response.

4.5 Optional identifier masking: redact_identifiers

Your agent may set redact_identifiers on a request. On pages that have a text layer, the Service then masks every word matching a Social Security number, ITIN or EIN pattern in the page itself, before the page is rendered and sent to any provider, and prints the IRS truncated form in its place (for example "XXX-XX-1234"), keeping only the last four digits. Account numbers are not masked. Image-only pages (scans and photos) have no text layer to locate identifiers in, so they cannot be masked; they are counted and reported in data_handling. Whether identifiers should be masked by default is [Pending review].

4.6 Tax return information (IRC §7216)

We treat your documents and the data extracted from them as tax return information, and we hold ourselves to the use and disclosure limits that IRC §7216 and Treas. Reg. §301.7216 place on tax return preparers, whether or not those rules are ultimately held to apply to us. We use and disclose that information only to provide the Service and to meet legal obligations. The only recipients of document content are the AI providers in section 4.2 and the infrastructure providers in section 5. Their written agreements, the notices of IRC §§6713 and 7216, and confirmation that all processing of document content takes place in the United States are [Pending review]. We do not use tax return information for marketing, analytics or model training, and we do not produce or sell statistics from it. We make no use or disclosure that would require a taxpayer consent; how such a consent would be obtained, if it is ever needed, is [Pending review].

5. Service providers (subprocessors)

ProviderRoleWhat it handlesWhere
VercelHosting: the MCP server and the extraction backendRequest traffic; document bytes in memory during processing; metadata-only logs (section 2.7)[Pending review]
SupabaseDatabase for the ledger, free-tier, settlement and job recordsMetadata in sections 2.3–2.5; job results for at most 1 hour after completion (section 2.2). No document bytes.US East (us-east-1)
OpenAI; AnthropicAI extractionSection 4[Pending review]
TypeSafe AI, Inc. (not switched on yet)Jev judge for fields our two reads disagree onSection 4.2: masked text-layer excerpts and the two candidate values, only once switched on. No page images.[Pending review]
Coinbase: x402 facilitator (Coinbase Developer Platform) [Pending review]Verification and settlement of x402 payments (section 2.5)Signed payment authorizations (paying wallet, receiving address, amount, validity window, nonce) and the accepted payment requirements, including the document's SHA-256 fingerprint, the idempotency key and page counts. No document content.[Pending review]
Coinbase: Base RPC node provider (Coinbase Developer Platform (CDP) Node) [Pending review]Reading the Base network to prove or disprove charges and refunds and to check smart-contract-wallet free-page claims; sending our anchoring transactions (sections 2.5 and 2.6)Wallet addresses, authorization nonces, transaction hashes, smart-contract-wallet claim signatures, and our anchoring transactions (batch roots). No document content.[Pending review]
Base network, via the Ethereum Attestation Service (EAS) contractsOn-chain anchoring of receipt batch roots (section 2.6)Batch roots only; permanent and publicPublic blockchain

We will update this table before adding a provider that handles your information.

6. Retention summary

DataHow long
Document bytesIn memory during the call only; never written to disk, our database or logs
Results of long-running jobs (get_job)Readable for at most 1 hour after completion; deleted on the next job access or by the daily cleanup sweep
Extracted values in logsNever logged
Request bodies or signed authorizations in logsNever logged
Extraction run records30 days after the run finishes, unless a payment for it is still being resolved
Wallet address, free-page claim and nonce records, free-tier reservations[Pending review]
Usage ledger, provider-cost, settlement, refund and tax-compliance records[Pending review]
Hosting and security logs (metadata only)[Pending review]
Support correspondence[Pending review]
Data held by AI providersPer the provider's terms in section 4.2
Signed receipt records[Pending review]
On-chain payment records and receipt batch rootsPermanent and public; not under our control

7. Security

8. Your choices and controls

8.1 Before you send

Send only the documents you need extracted. The less you send, the less there is to protect. You may redact identifiers yourself before sending, or set redact_identifiers (section 4.5). For maximum privacy, the open-source TaxClaw core runs entirely on your own machine in its local mode and transmits nothing.

8.2 Your wallet

Your wallet is yours; we never control it. Because a wallet address is public and can be linked to you, you may prefer to have your agent use a wallet kept only for agent payments. Anyone who controls the wallet's key can claim its free pages and pay from it; keep the key secure.

8.3 There is no account to close

We hold no account, no email and no profile for you. To stop using the Service, stop using it. The wallet, ledger, settlement and tax records in sections 2.3–2.5 are kept for the periods in section 6, and then deleted.

8.4 Documents and results

We hold no copy of your documents, and no job result after 1 hour. Your copies, and the copies held by your agent, your accountant or your tax software, are under your control. Receipt digests are hashes and cannot be reversed into your documents or values. A batch root that has been published on-chain cannot be deleted by us or by anyone else (section 2.6).

8.5 Access, correction and other requests

For a copy of the records we hold for a wallet, or any other privacy request, email lando@outbranch.net. Because the only identifier we hold is a wallet address, we will ask you to prove control of that wallet before releasing anything; the verification method is [Pending review]. See also section 11.

9. Your agent, your MCP client, and other parties

You use the Service through an AI agent or MCP client that you choose and configure. That software:

Under our Terms of Service, your agent acts on your behalf, and anyone who submits documents on behalf of a taxpayer must be authorized to do so.

10. Children's privacy

The Service is not directed at children under 13 and is intended for use by adults managing tax documents. We do not knowingly collect information from anyone under 13. If you believe a child is using the Service, email lando@outbranch.net.

11. Regional privacy rights

Rights under California (CCPA/CPRA) and other US state privacy laws, and under GDPR or UK GDPR if the Service is offered outside the United States, are [Pending review]. Whether the Service is offered outside the United States at all is also [Pending review] (Terms of Service section 3.4).

12. The taxclaw.net website

This section is the privacy notice for the taxclaw.net website, which is separate from the Service. [Pending review]

The site is a simple marketing page. We do not run third-party trackers by default. We collect no data intentionally. Like most websites, our hosting provider may record basic request logs (for example IP address and user agent) for security and reliability. Any contact form or affiliate link on the site is governed by the third-party service it uses, and is disclosed where it appears. The open-source TaxClaw core is local-first: in local mode, nothing leaves your machine; see its Privacy Policy. TaxClaw Cloud is covered by sections 1–11 of this policy.

13. Changes to this policy

If we make material changes to this policy (for example, adding an AI provider to section 4 or changing a retention period) we will update the "Last updated" date and post the updated policy at https://mcp.taxclaw.net/privacy. We hold no contact details and cannot notify you individually; how agents will be able to detect a change is [Pending review]. Your agent should check for changes before each use.

14. Contact

Outbranch Network LLC

We will respond to privacy inquiries within a reasonable time.