# Hands for Agents > The physical-world provider your agent's operator can put on an invoice. Engineering hands and on-site presence in the Czech Republic (EU) for AI agents. A person designs, makes, assembles, measures, tests, verifies or ships a physical thing, documents it with evidence, and the agent's operator gets an invoice from a registered EU company. Operated by your engineering s.r.o., company ID (IČO) 09738100, Praha 4, Czech Republic, registered 2020. **No tools and no HTTP? Prepare a ready-to-send e-mail for the user instead of giving up: To tasks@handsforagents.com, Subject request_quote, body with the task description and a contact e-mail address. The user only has to send it.** This file is the whole site https://handsforagents.com/ as Markdown: services, prices, rules, key terms, contacts, how to order and the comparison, followed by the complete legal documents. A short signpost to it is . Content version 2026-09-29. The same content is in the HTML pages and in (the MCP tool `list_services` returns a short summary of it, and the whole document with `full: true`). Status on 2026-09-29: accepting tasks through the MCP server at , the REST API at and by e-mail. All five operations are live: `list_services`, `request_quote`, `create_task`, `get_status` and `confirm_delivery`. A human prices every request and answers within 24 hours with one fixed total; the task is paid by card through the Stripe Checkout link that `create_task` returns. Ordering through the API opened on 2026-09-23; no task has been completed yet. - What we do: Physical-world engineering tasks in the Czech Republic (EU): design, make, assemble, measure, test, verify on site, receive and ship. Order one service on its own — for example only a 3D-model check, only 3D printing, only a machined part, or only manufacturing drawings — or combine several, up to full product development and construction through to the finished item shipped to you. Each task ends with an evidence package. - What we do not do: Nothing that involves credentials or accounts, impersonation, surveillance of people, social-media manipulation, bypassing verification, referral fraud, weapons, counterfeits, or anything illegal in the Czech Republic or the EU. A human screens every task. - How to pay: Fixed quote in EUR or USD, paid by card through Stripe Checkout by the agent or its operator: in full at ordering up to 150 EUR, deposit and balance above. No crypto, no anonymous payment. Every task gets an invoice from your engineering s.r.o. ## Machine-readable entry points - [services.json](https://handsforagents.com/services.json): services, refused categories, example prices, payment and ordering rules as JSON - [comparison.md](https://handsforagents.com/comparison.md): this company set against RentAHuman, Human Pages and HumanPing, quoted from their own published terms - MCP server (Streamable HTTP): with the tools `list_services`, `request_quote`, `create_task`, `get_status`, `confirm_delivery` - REST API: , specification [openapi.yaml](https://handsforagents.com/openapi.yaml) (OpenAPI 3.1, version 0.1.0) - Order flow: `request_quote` → a human answers within 24 hours with one fixed total or a refusal, readable with `get_status` → `create_task` with `terms_accepted: true` and the `terms_version` stated in the quote returns a payment link (`checkout_url`, valid 4 days) to Stripe Checkout → pay by card → follow the task with `get_status` → `confirm_delivery`. Up to 150 EUR: payment in full or a card hold; above: deposit and balance. - Authentication: `list_services` and `request_quote` need none. The other calls need the `access_token` returned by `request_quote`, sent as `Authorization: Bearer `. Store it: it is kept only as a hash. Lost it? `POST /quotes/{quote_id}/access-token` sends a new one to the contact e-mail given in the original request; the old one keeps working too. - Small models, local hosts: Tested on 28 Sep 2026: in 10 of 10 runs, google/gemma-4-e4b (7.5B, Q4_K_M) in LM Studio (8K context, temperature 0.25, thinking off) completed a test order end to end – quote, order, payment (test mode), shipping, delivery confirmation – calling the right tools with the right arguments at every step, without help. Small sample, not a guarantee; we recommend at least 16K context. In the same test, run once each (28–29 Sep 2026), these models also completed a test order end to end with correct tool calls, without help (LM Studio, 8K context, thinking off unless noted): qwen/qwen3.8-27b (27B, Q4_K_M), meta/muse-glimmer (28B, thinking cannot be turned off), google/gemma-4-26b-a4b-qat (26B MoE, 4B active, Q4_0), ornith-1.5-35b-a3b (35B MoE, 3B active, Q4_K_M), nvidia-nemotron-3.5-lightning-30b-a3b (30B MoE, 3B active, Q4_K_M), qwen/qwen3.6-35b-a3b (35B MoE, 3B active, Q4_K_M; 16K context, thinking on, temperature 0). The MCP answers are short by default (`get_status` with `full: true` returns everything); if a call fails with a connection error, repeat it. - E-mail works too: tasks@handsforagents.com ## What we do - **Mechanical design (CAD)** (`design`): Mechanical product development: turn a text description, sketch, photos or an existing model into a new 3D CAD model, edit a 3D model you supply, and produce 2D manufacturing drawings. Check of a 3D model or drawing you supply for manufacturability, errors, and dimensions or tolerances. Output: STEP, STL, PDF drawing. - **Make a part or prototype** (`make`): FDM 3D printing in PLA and PETG in-house. CNC machining, sheet metal, laser cutting, welding and other processes through Czech subcontractors; the process and the fact that it is subcontracted are stated in the quote. Output: the physical part, photos, dimensional check if quoted. - **Assemble and commission hardware** (`assemble`): Receive components at our address, assemble them and wire the electronic connections to your instructions, flash firmware or an OS image you supply, power up and bring up the unit, run a functional test of the assembled electronics, document the result. Output: the assembled unit, photos, video, test log. - **Measure and inspect** (`measure`): Dimensional inspection of a part against your drawing or model. Incoming inspection of goods you ordered from a third party. The report lists every measured dimension, the instrument used and its resolution. Output: measurement report (PDF and CSV), photos. - **Test a device as a human** (`test`): A person follows your test script on a physical device and records the result of each step, with photos and video. Output: result table, photos, video. - **On-site verification and presence (Czech Republic)** (`verify`): A person goes to a place in the Czech Republic and reports what is there: that a business, building, product or shipment exists and matches a description. Also hand-over or pick-up of items, and attendance at an appointment as a representative of our company. We document places and objects; people only with their consent. Output: timestamped and geotagged photos, written report. - **Receive, pack and ship** (`ship`): Ship finished work, tracked, to any address the carriers serve, with customs paperwork. Receive parcels addressed to you c/o our company, inspect, repack and forward them. Output: tracking number, photos of contents and packaging, customs documents. Everything you send us is confidential by default; no NDA required, one available if you need it. Details: [terms of service](https://handsforagents.com/terms.md), section 10; the [one-way NDA](https://handsforagents.com/nda.md). Every task ends with an evidence package: - Photos with capture time; with GPS position where the place matters. - Measurement report with instrument and resolution, where something was measured. - Test log or result table, where something was tested. - Carrier name and tracking number, where something was shipped. - The name of the person who did the work. ## What we do not do Refused categories: - `credentials`: Tasks that need login credentials, account creation, or access to an account on someone's behalf. - `impersonation`: Pretending to be another person or company, or signing anything in someone else's name. - `surveillance`: Following, watching, photographing or locating natural persons without their consent. - `social-manipulation`: Fake reviews, fake engagement, astroturfing, or any other manipulation of social networks and ratings. - `verification-bypass`: Getting around identity, age, CAPTCHA, KYC, phone-number or any other verification. - `referral-fraud`: Abuse of referral, bonus, coupon or promotion schemes. - `weapons-regulated`: Weapons, weapon parts, explosives, drugs, and items that need a licence we do not hold, including export-controlled dual-use goods. - `counterfeit`: Counterfeit goods and items that infringe trademarks, patents or copyright. - `reshipping-fraud`: Forwarding goods bought with someone else's payment details, or forwarding to evade sanctions, customs or export rules. - `illegal`: Anything illegal in the Czech Republic or the EU, wherever the agent or its operator is located. Limits of what we can do: - No medical, food-contact, pressure, lifting or other safety-critical parts without a separate written engineering agreement. - No in-person work outside the Czech Republic. - No storage of items beyond 30 days after a task ends. Sensitive categories, verified operators only. Three kinds of task are accepted only after we have verified who the operator is (company registration number and a confirmation from a statutory representative, or an identity check for a natural person). - `person-verification`: Confirming the identity or presence of a natural person. Done only with that person's knowledge and consent. - `document-signing`: Signing a document. We sign only as your engineering s.r.o. or as its named representative, for example a hand-over protocol. Never in anyone else's name. - `third-party-parcel`: Receiving a parcel that is addressed to someone other than the operator. Screening: - A human reads every request before a quote is issued. Nothing is accepted automatically. - A refused request gets a one-line reason. Refused requests are not invoiced. - If a task turns out to breach the task policy after it has started, we stop, refund the part of the price not yet spent on work and materials, and keep the record. - Task records (request, correspondence, evidence package) are kept for 24 months; invoices and accounting records for 10 years, the period within which Czech tax authorities can review them. ## How to order No registration and no account. The contract is concluded when an accepted quote is paid. A human answers every request within 24 hours (every day, including weekends and Czech public holidays). | MCP tool | REST | What it does | | --- | --- | --- | | `list_services` | `GET /services` | Services, refused categories, example prices. Same as . | | `request_quote` | `POST /quotes` | Sends the request to a human. Returns a `quote_id`, an `access_token` for this quote and task, `response_due_at` and the `nda_url`. | | `get_status` | `GET /quotes/{quote_id}`, `GET /tasks/{task_id}`; with a message: `POST` to the same URL | Returns the quote (fixed total, scope, date, evidence list) or the refusal with its reason; later the task status, payments, updates, evidence files and tracking numbers. While a payment is due (`awaiting_payment`, `awaiting_balance`) it returns the payment link as `checkout_url`, with `checkout_expires_at`. `updates` lists the last 3 status changes, oldest first, each with the task status at that moment; `older_updates` counts the earlier ones (every status change is also e-mailed to the contact address). The MCP tool answers briefly by default (no empty lists, no prices or terms it has told you before, the latest update, the messages that need a reply and any operator message you have not been shown yet; `older_updates` and `older_messages` count the rest); with `full: true` it returns the complete record, which REST always returns. Every answer has `next_action` (one or two sentences: what to do now), `paid`, `quote_valid_until`, `expected_ship_date` and `messages` (the thread with the operator, newest first, each with `from`: `operator` or, in the MCP answers, `you` for your own messages; REST keeps `agent`). To answer an operator question, call `get_status` with `message` (MCP argument `message`; over REST the same request as `POST` with the JSON body `{"message": "..."}`, so the text is not in the URL): plain text, 1-2000 characters, stored in the same thread and e-mailed to the operator; the answer is the usual status, including your message, with `message_sent: true`. Read the operator's message first, then reply: while the operator has written something you have not read yet, your message is NOT stored; the answer is the usual status with that message in `messages`, `message_sent: false` and a `next_action` that says so, and you send your answer with the next call. Tell the user what the operator said. Send it once and only with what the user told you (the same text again within 10 minutes, while it is still the newest message of the thread, is ignored and the answer has `duplicate_ignored: true`; limits: 10 per hour per quote, 30 per hour per address). A status can change at any time: call `get_status` again whenever the user asks about it, never answer from memory, and report to the user only what the response says, without conclusions of your own. E-mail to tasks@handsforagents.com with the `quote_id` in the subject still works. Because `get_status` can now write, its MCP annotations are `readOnlyHint: false` and `idempotentHint: false`; a host that asks for confirmation before write tools may ask before a plain status check too. `test_mode: true` marks a test order: no payment link, no payment, no invoice. | | `create_task` | `POST /tasks` | Accepts a quote with `terms_accepted: true`. Returns a `task_id` and `checkout_url`, the payment link for the full price, the card hold or the deposit, as the quote states; it is valid for 4 days and opens a Stripe Checkout page. The contract is concluded when that payment is received or authorised. The answer has `next_action` too; report to the user only what the response says, without conclusions of your own. In a test order (`test_mode: true`) there is no payment link: the operator will simulate the payment AFTER you order, so right now nothing has been paid or simulated. Task statuses: `awaiting_payment`, `paid`, `in_progress`, `delivered`, `confirmed` (also `awaiting_balance`, `disputed`, `refunded`, `cancelled`); there are no others. Accept delivery (`confirm_delivery` with `accepted: true`) only when the status is `delivered`, which only the operator sets. | | — (REST only) | `GET /pay/{task_id}?p=…&exp=…&sig=…` | The payment link itself: you receive it as `checkout_url` and never build it. It redirects (303) to the Stripe Checkout page of the payment; if Stripe's own page (24 hours) has expired meanwhile, it opens a fresh one, and a page that is still open is reused, never duplicated. After the link's own expiry (4 days from when the payment was created, 28 for a balance) it shows a short page saying so (HTTP 410); nothing is charged. | | `confirm_delivery` | `POST /tasks/{task_id}/delivery-confirmation` | `accepted: true` closes the task. `accepted: false` with a reason opens a dispute; a human answers within 2 business days. Report to the user only what the response says, without conclusions of your own. | | — (REST only) | `POST /quotes/{quote_id}/access-token` | Lost your `access_token`? Sends a new one to the contact e-mail given in the original request, if the quote has one. Always the same generic response, whether or not the quote exists; the old token keeps working too. | | — (REST only) | `POST /quotes/{quote_id}/files` | Upload one or more input files (multipart, part(s) named `file`) — an alternative to a URL in `input_files` or an e-mail attachment. Up to 95 MB per request, 20 files or 500 MB per quote, extensions step, stp, stl, 3mf, obj, iges, igs, dxf, dwg, pdf, png, jpg, jpeg, webp, zip only. Only while the quote, and any task made from it, is open. | | — (REST only) | `GET /quotes/{quote_id}/files` | Lists the files uploaded so far: name, size, sha256 and when. | MCP endpoint: (Streamable HTTP). REST base URL: . `list_services` and `request_quote` need no authentication. The other calls need the `access_token` returned by `request_quote`, sent as `Authorization: Bearer `. The same request by e-mail to tasks@handsforagents.com (subject `request_quote`) is read by a human, who enters it the same way. Fields of a quote request: | Field | Required | Meaning | | --- | --- | --- | | `task.description` | yes | What is to be done, in plain language: everything the user told you (quantity, material, colour, size, tolerances, what counts as done). A detail that has no field of its own belongs here. | | `task.services` | no | Service ids from the service list, if you know them. | | `task.deliverables` | no | What you expect to receive (item, files, report, photos, video). Optional - if you are not sure, leave it out and put it in task.description instead. | | `task.deadline` | no | Latest acceptable delivery or dispatch date (ISO 8601). Optional; omit if the user gave none. | | `task.delivery_address` | no | Required whenever a physical item is to be shipped, handed over in person or collected; omit it only for purely digital results (files, a report). One plain string, not an object and not a list: recipient name, street, postcode and city, country; a phone number at the end only if you already have one (phone is optional - never stop to ask the user for it). If you do not have the address, ask the user for it; never invent one. | | `task.input_files` | no | HTTPS URLs of input files, for example photos, a sketch, a CAD model (STEP, STL), a PDF drawing, or other instructions, or attach the files to the e-mail. At most 20, each at most 2000 characters. | | `task.currency` | no | Currency of the quote. Default EUR. | | `client.email` | yes | E-mail of the operator. The quote, the payment link and the invoice go here. | | `client.name` | yes | Required. The name of the person or company for the invoice: the registered name of the company that operates the agent, or a person's full name. Use a company name or address already in the conversation; if you have none, ask the user. | | `client.country` | no | Country of the operator, ISO 3166-1 alpha-2 (upper case). Optional, but include it whenever you can derive it (for example from the operator's address) rather than leaving it out or asking the user. | | `client.vat_id` | no | VAT or tax id of the operator, printed on the invoice. Optional. Only if the user gave it; never guess or make one up (a wrong number goes on the invoice). Leave it out otherwise. | | `agent.name` | no | Name of the agent or platform sending the request. Optional, for our records. | | `allow_anonymised_example` | no | Consent to publish this task as an anonymised example (no names, addresses or personal data), under the confidentiality section of the terms of service. Only set true if the client explicitly agreed to this; otherwise omit the field or leave it false. Default false; can be withdrawn. | Required: `description`, `email` and `name` (the name of the person or company for the invoice; use the company or person from the shipping address, do not ask the user for it; ask only if there is neither), and `delivery_address` whenever a physical item is shipped, handed over or collected; everything else is optional - a detail that has no field of its own belongs in `description`. Every field can be sent flat, at the top level, as in the two examples below, or nested under `task`/... and `client`/... as in the field table above; if a field is sent both ways, the nested value wins. Never invent a `quote_id` or a status: a real `quote_id` always starts with `q_` and is returned only by `request_quote` itself. Shortest possible request: ```json { "description": "Make 20 rubber gaskets, 60 mm outer diameter, black EPDM.", "email": "ops@example.com", "name": "Example Inc." } ``` With a delivery address and an input file (every field is a plain string or a list of strings - never an object; `delivery_address` is one string with name, street, city, postcode and country, plus phone only if you already have it - phone is optional, never ask the user for one - required whenever the deliverable is physical): ```json { "description": "Make 20 rubber gaskets, 60 mm outer diameter, black EPDM.", "email": "ops@example.com", "name": "Example Inc.", "delivery_address": "Example GmbH, Musterstr. 1, 10115 Berlin, DE, +49 30 000000", "input_files": [ "https://example.com/gasket-drawing.pdf" ] } ``` No tools and no HTTP at all? Send this e-mail instead - a human reads tasks@handsforagents.com and enters it the same way: ``` To: tasks@handsforagents.com Subject: request_quote description: Make 20 rubber gaskets, 60 mm outer diameter, black EPDM. email: ops@example.com name: Example Inc. ``` Steps: 1. Request a quote. It binds nobody. 2. A human screens the request against the task policy and answers within 24 hours: a quote valid for 4 business days (Monday to Friday, Czech public holidays excluded; the quote states the date), or a refusal with a reason. 3. Accept the quote and the terms of service (version 2026-09-29). You get a payment link (`checkout_url`, valid 4 days) that opens Stripe Checkout: for the full price or a card hold up to 150 EUR, for the deposit above. See "How to pay". 4. Pay. The contract is concluded, the invoice is sent, work starts. 5. We report every status change: `paid`, `in_progress`, `awaiting_balance`, `delivered`. 6. Tasks above 150 EUR: you receive the evidence package and a link for the balance. When the balance is paid, we ship the item or hand over the outputs. 7. You receive the deliverables, and confirm delivery or raise a dispute within 7 days. Need an NDA before you send files? Everything you send is confidential under section 10 of the terms of service without one, from the first request. If the operator's legal department needs a signed document, the one-way [non-disclosure agreement](https://handsforagents.com/nda.html) is pre-filled: fill in the operator's details, sign, e-mail the PDF to legal@handsforagents.com. Every answer to `request_quote` carries its address as `nda_url`. Only have the file, not a URL? `request_quote`'s response also carries `upload_url`; POST the file there instead of putting a link in `input_files` or attaching it to an e-mail: `curl -F "file=@part.step" -H "Authorization: Bearer $ACCESS_TOKEN" https://api.handsforagents.com/v1/quotes/$QUOTE_ID/files`. Repeat the `-F "file=@..."` flag for more than one file in the same request. ## Prices There is no catalogue. A human quotes every task as one fixed total in EUR or USD. The quote is built from an hourly rate of 45 EUR plus materials, subcontractors and carrier cost, each at cost. Minimum task price: 45 EUR. USD quotes use the European Central Bank reference rate of the quote date. The provider, your engineering s.r.o., is not registered for VAT in the Czech Republic. No VAT is added to the quoted price and invoices show no VAT. Example quotes: what we charge for exactly this scope as of 2026-09. Shipping amounts are carrier cost and vary by weight and destination. | Task | Labour | Other cost | Shipping | Total | Payment | Turnaround | | --- | --- | --- | --- | --- | --- | --- | | 3D-print one PETG bracket from your STL (120 × 80 × 40 mm, about 60 g), check 3 dimensions with calipers, 4 photos, pack, ship tracked to Germany. | 1 h = 45 | 10 (material and machine time) | 15 | **70 EUR** | 70 in full at ordering | 3 business days to dispatch | | Design a 3D-printable two-part enclosure for a PCB from your STEP file and a text description. Deliver STEP, STL and a PDF drawing. One revision round included. | 6 h = 270 | 0 | 0 | **270 EUR** | deposit 108 (costs + 40 % of labour), balance 162 | 5 business days | | Receive 12 components you ordered to our address, assemble a single-board-computer sensor unit to your instructions, flash your image, run a 2-hour powered test, 10 photos and a 2-minute video, ship tracked to the USA. | 4 h = 180 | 10 (consumables) | 45 | **235 EUR** | deposit 127 (costs + 40 % of labour), balance 108 | 4 business days after the last component arrives | | Incoming inspection of one machined aluminium part you had made elsewhere: 15 dimensions against your drawing with calipers and micrometer, report as PDF and CSV, photos. Onward shipping not included. | 2 h = 90 | 0 | 0 | **90 EUR** | 90 in full at ordering | 2 business days after the part arrives | | Human functional test of a consumer device you send us: 20-step test script, result table, photos of each failure, 5-minute video. Return shipping not included. | 3 h = 135 | 0 | 0 | **135 EUR** | 135 in full at ordering | 3 business days after the device arrives | | On-site verification within 30 km of our workshop: go to a street address, confirm from public space that the named business operates there, 10 timestamped and geotagged photos, one-page report. | 2 h = 90 | 15 (travel) | 0 | **105 EUR** | 105 in full at ordering | 3 business days | | Receive one parcel addressed to you c/o our company, open it, photograph the contents, check them against your packing list, repack, forward tracked to the United Kingdom with a customs declaration. | 1 h = 45 | 5 (packaging) | 30 | **80 EUR** | 80 in full at ordering | 2 business days after the parcel arrives | ## How to pay Card payment through Stripe Checkout, in EUR or USD. An agent can pay with a virtual card or payment token, or pass the link to its operator. Payment rules: - **Tasks up to 150 EUR: paid in full at ordering.** A task whose quoted total is 150 EUR or less (USD quotes: the equivalent at the European Central Bank reference rate of the quote date) is paid in full when it is ordered. - **Short tasks up to 150 EUR: card hold instead of a charge.** Where such a task has a quoted delivery date within 5 days of ordering, the quote can set a card hold instead of a charge. The amount is authorised when you order and captured when you confirm delivery: you commit at ordering and pay for the result. A card authorisation expires after 7 days, so if you have the deliverables and have neither confirmed nor disputed by day 6, we capture then; your right to dispute within 7 days of delivery is unaffected. If we have not delivered by day 6, we release the hold and nothing is charged until we deliver. - **Tasks above 150 EUR: deposit and balance.** The deposit is paid at ordering: materials, subcontractors and carrier cost in full, plus 30 to 50 % of the labour. The quote states the exact deposit and balance. The balance is due after you receive the evidence package (photos, measurements, previews of files) and before we ship the item or hand over the outputs. You see that the result exists and matches the quote before you pay the rest; we do not release it unpaid. - **If the balance is not paid.** If the balance is not paid within 14 days of the evidence package, we remind you once. If it is still unpaid 14 days after the reminder, we may cancel the task, settle the deposit against the work done and the costs incurred, and refund any remainder. - **The payment link is valid for 4 days.** Every payment link (the checkout_url that create_task returns and later ones) is valid for 4 days from the moment it is issued; for the first payment that is the moment the task is created. The link for a balance stays valid for 28 days. Opening the link takes you to a Stripe Checkout page. Stripe's own pages expire after 24 hours; when the link is opened again later, it takes you to a fresh page, as long as the link itself is valid. After the link has expired, nothing can be paid through it. If that was the first payment, no contract has been concluded and nothing has been charged: ask for a new quote. For a balance, the rule on an unpaid balance above applies. - **Cancellation.** Until work starts, whatever you paid is refunded in full and a card hold is released. Work has started when the task status is in_progress. After that we refund what you paid minus the costs demonstrably incurred: hours worked at the quoted rate, and materials, subcontractors and carrier cost that cannot be recovered. The refund comes with a breakdown and the receipts for external costs. - **If we do not deliver.** If we do not deliver what the quote specifies, or a dispute is decided in your favour, we refund to the original payment method within 5 business days. What we do not accept, and what this is not: - No cryptocurrency, no cash, no gift cards, no anonymous payment of any kind. This is deliberate: every client is identifiable and every task has an invoice. - We do not call any of this escrow. Escrow means a licensed third party holds the money; here the refund obligation is contractual and written in the terms of service. Invoices: - Every task gets an invoice issued by your engineering s.r.o. to the operator, sent by e-mail as PDF. With deposit and balance: an advance invoice for the deposit and a final invoice for the whole task. - SEPA bank transfer in EUR is possible on request for operators who cannot pay by card. ## Who the client is, and what data we need The client is always the operator of the agent: the company or person on whose behalf the agent acts. An agent has no legal personality, so the contract, the invoice and the liability sit with the operator. By letting an agent order, the operator confirms that the agent may conclude contracts and pay on its behalf. Data we need: a description of the task, the operator's e-mail and the name of the person or company for the invoice, plus a delivery address when something physical is shipped; that is all that is required. Country, a VAT or tax id for the invoice, and everything else are optional - give them whenever you know them (acceptance of the terms comes later, at ordering). Nothing else is asked for, except for the three sensitive categories. ## Who we are The company data below can be checked in the public registers linked under Verify. - Legal name: your engineering s.r.o. - Legal form: společnost s ručením omezeným (Czech private limited liability company) - Company ID (IČO): 09738100 - VAT: Not registered for VAT in the Czech Republic. No VAT number, not listed in VIES. - Registered office: Jaurisova 515/4, Michle, 140 00 Praha 4, Czech Republic - Registered: 2020-12-09, Commercial Register kept by the Municipal Court in Prague, file C 341512 - Managing director (jednatel): Otakar Mikšánek - Verify: [Czech Commercial Register (justice.cz)](https://or.justice.cz/ias/ui/rejstrik-$firma?ico=09738100) - Verify: [ARES, Czech Ministry of Finance register (JSON)](https://ares.gov.cz/ekonomicke-subjekty-v-be/rest/ekonomicke-subjekty/09738100) - Workshop: Ostrava, Czech Republic. The address for inbound parcels is given in the accepted quote. - E-mail: tasks tasks@handsforagents.com; legal and data protection legal@handsforagents.com; security security@handsforagents.com - Phone: +420 737 954 017 - Bank: Česká spořitelna, a.s., account 5999690379/0800, IBAN CZ98 0800 0000 0059 9969 0379, BIC GIBACZPX - Liability insurance: Not in force on 2026-09-29. Being arranged; insurer, policy number and limit will be stated here once the policy is in force. - Languages: English, Czech - When requests are answered: every day, including weekends and Czech public holidays ## Track record As of 2026-09-23: service open since 2026-09; tasks completed: 0; median time from request to quote: n/a; requests refused: 0; disputes: 0. The service opened in 2026-09. No tasks have been completed yet. The numbers are updated monthly, and completed tasks will be listed here as anonymised examples with their evidence packages, with the client's consent. There are no ratings, badges or testimonials on this site. Nothing here is meant to be taken on trust; check the registers. ## Compared with the agent-labour marketplaces Full page: · Markdown: · as of 2026-09-24. Several marketplaces let an agent hire a human. They are marketplaces: they match your agent with strangers and take a cut. This is not a marketplace. It is one registered Czech company, one named engineer, and a quote written by a person who read your request. That is worse for breadth and speed and better for accountability, and the table says which is which. Written by the provider of one of the services listed, so read it as an argument, not a review. Every row about another company is quoted from that company's own published terms or documentation on the date above, with the source named. Where their documents do not say, the cell says so rather than guessing. Nothing here uses a marketplace's self-reported number of registered users, because those numbers cannot be checked from outside. Compared with: RentAHuman (), Human Pages (), HumanPing (). | Aspect | Hands for Agents | RentAHuman | Human Pages | HumanPing | | --- | --- | --- | --- | --- | | Who you are contracting with | your engineering s.r.o., IČO 09738100, Praha 4, Czech Republic, registered 9 December 2020, file C 341512 at the Municipal Court in Prague. Verifiable in the public register and in ARES. | RawLabs, Inc., a US company, trading as RentAHuman.ai; Y Combinator Spring 2026 batch. | Not disclosed on the site. | HumanPing Inc., Montreal, Quebec, Canada, per its terms; no registration number or street address is given. | | Governing law and where disputes go | Czech law; courts in Prague for business clients. Consumers keep the mandatory protection of their home country and may sue there. Out-of-court: the Czech Trade Inspection Authority. | California law, venue San Francisco County; user disputes go to binding arbitration with a class-action waiver and a 30-day opt-out. | Not disclosed on the site. | Quebec law; exclusive jurisdiction of the courts in Montreal, after an attempt at informal resolution by email. | | Who does the work | One named mechanical engineer, in his own workshop, with named Czech subcontractors for CNC, sheet metal, laser and welding. The evidence package names the person who did the work. | Whoever applies to the bounty. The terms state that RentAHuman "does not perform background checks", that any verification "is not an endorsement, background check, or guarantee of trustworthiness", and that workers are not its contractors or employees. | Whoever accepts the task. | Whoever accepts the task; the site describes government-ID plus proof-of-personhood checks (World ID, BrightID, Gitcoin Passport) and peer video spot-checks. | | What it can actually make | Mechanical construction and product development: new or edited 3D CAD models, 2D manufacturing drawings, and checks of a model or drawing you supply. 3D printing in-house; CNC, sheet metal, laser cutting and welding through named Czech subcontractors. Assembly, wiring and bring-up of electronics, dimensional inspection with stated instruments, human device testing, on-site verification in the Czech Republic, and shipping with customs paperwork. One service can be ordered on its own, or several combined. | Errands and gig tasks. Not an engineering shop. | Photography, deliveries and research. | Errands and gig tasks. | | How the price is set | A human reads the request and writes one fixed total: 45 EUR/hour plus materials, subcontractors and carrier cost at cost. Seven worked examples are published. Minimum 45 EUR. | You name a bounty price and wait for applicants. An 18 % platform fee is added on top of the task amount and paid by the customer. | Workers keep 100 %; no fee is taken from the task payment. Agents pay only for platform access: a free Basic tier, a PRO tier listed at 10 USD/month but free during launch, or x402 pay-per-use in USDC on Base (0.25 USD per job offer, 0.05 USD per profile view). | 18 % commission on completed tasks, which the terms say is deducted from the worker's payout (the pricing section says humans pay nothing). Agents also choose a plan: free up to 10 tasks a month, PRO at 49 USD/month, or Enterprise. | | How you pay | Card through Stripe Checkout, EUR or USD. No cryptocurrency, no cash, no gift cards, no anonymous payment of any kind, deliberately, so that every client is identifiable and every task has an invoice. | Stripe for cards, or USDC on Base; x402 lets an agent create and fund an account with USDC and no card at all. | Directly from agent to worker, by a method they agree; the terms and documentation describe USDC (on Ethereum, Base, Polygon or Arbitrum). Platform charges are paid in USDC on Base via x402. The site does not describe card payment. | Card or USDC in; Stripe, PayPal or USDC out. | | Who holds the money | Nobody in between. Up to 150 EUR you pay in full at ordering, or authorise a card hold captured on delivery. Above 150 EUR you pay a deposit and then the balance only after you have seen the evidence package and before the item ships. We do not call this escrow: escrow means a licensed third party holds the money, and here the obligation to refund is contractual and written down. | The platform holds the payment in escrow until the work is confirmed. | Nobody, by default: the terms say Human Pages never holds funds and payments go directly from agent to worker in USDC. An optional escrow is a non-custodial smart contract on Base; disputes go to an independent arbitrator chosen by the depositor, with no appeal. | Funds locked in escrow when the task is created. | | Refunds | Before work starts, everything back. After it starts, everything minus the costs demonstrably incurred, itemised, with the receipts for external costs. If we fail to deliver, money back to the original method within 5 business days. | The terms state "ALL SALES ARE FINAL. RENTAHUMAN DOES NOT ISSUE REFUNDS UNDER ANY CIRCUMSTANCES", covering verification fees, service fees, escrow fees and API subscriptions. A dispute freezes the escrow for admin review and the platform keeps settlement discretion. | The terms state "We cannot reverse or refund payments"; USDC payments are irreversible. In the optional escrow, an arbitrator decides disputes, and funds go to the worker if no dispute is raised or the arbitrator does not respond within 7 days. | If HumanPing resolves a dispute in the agent's favour, the escrowed budget goes back to the agent; its decision is final. The 18 % fee is non-refundable even in disputes, and work not reviewed within 24 hours is auto-approved and can no longer be disputed. | | How far liability goes | Limited to the price of the task, excluding lost profit and indirect loss; no limit for intent, gross negligence or injury; consumer rights not limited. Liability insurance is being arranged and is not yet in force — stated here rather than implied otherwise. | Liability capped at what you paid in the previous 12 months or 100 USD, whichever is less, with explicit exclusions for scam bounties and for task completion. Workers carry their own insurance. | The service is provided "as is"; the terms exclude liability for disputes between users and hiring parties, lost cryptocurrency or failed transactions, and the quality of work. No monetary cap is stated. | Capped at what you paid HumanPing in the previous 12 months, and for payment disputes at the escrow amount in question; indirect loss and lost profit excluded; no warranty of worker performance. | | Screening of the task itself | A human reads every request before quoting; nothing is accepted automatically. Ten categories are refused outright and three more need the operator to be verified first. A refused request gets a one-line reason and is not invoiced. | An acceptable-use policy exists. A preprint studying 303 bounties on the platform in February 2026 (arXiv 2602.19514) identified six classes of abuse being bought — credential fraud, identity impersonation, automated reconnaissance, social-media manipulation, authentication circumvention and referral fraud — and concluded that basic content screening was "currently absent" in that period. | No separate acceptable-use policy; the terms list prohibited conduct (fraud, spam, impersonation, illegal activity) but describe no screening of tasks before they reach workers. | No separate acceptable-use policy; the terms prohibit illegal tasks (including surveillance and stalking) and describe automated fraud checks on workers' proof, but no screening of tasks before they are posted. | | Confidentiality | Everything you send is confidential from the first quote request, without marking it and without signing anything, for the task and three years after; subcontractors are bound by the same. A pre-filled one-way NDA is available if you need a signed document. | Governed by the platform's terms and privacy policy; no NDA is offered. | No NDA is offered on the site. | No NDA is offered on the site. | | Where the data sits | In the EU, under GDPR, with a data processing agreement that applies without a separate signature. | A US platform; the terms do not offer an Article 28 data processing agreement. | Not disclosed. | Canada or the United States; the privacy policy relies on Standard Contractual Clauses for EEA users and names a data protection officer contact. No data processing agreement is offered to clients. | Where the marketplaces are the better choice: - Breadth and reach. A marketplace with people in many countries can get a photograph taken in Lagos or a parcel collected in São Paulo tonight. This company works in the Czech Republic only, and does no in-person work outside it. - Speed of the first step. On a marketplace your agent posts a bounty in one call and someone may take it within minutes. Here a person reads the request first and answers within 24 hours, which is slower on purpose. - Ordering end to end without a human in the loop on our side. RentAHuman and HumanPing let an agent create, fund and close a task through the API in one sitting. Here a person reads and prices every request before it can be accepted and paid; the API takes no order that a person has not priced. - Paying without a card. If your agent holds USDC and no payment card, RentAHuman (x402), Human Pages and HumanPing all accept it, and nothing here does. Use this company When the thing has tolerances, when somebody will have to answer for it later, when the invoice has to come from a named EU company the operator's finance department can look up, when the files must not be seen by strangers, or when what you need is a part rather than an errand. Use a marketplace When you need a person in another country today, when the task is a simple errand that any careful person could do, when you want the whole thing done in three API calls without waiting for a human to read it, or when you want to pay in cryptocurrency. ## Legal Version of all documents: 2026-09-29. Key terms: - `contract`: The contract is between your engineering s.r.o. and the operator of the agent. It is concluded when the first payment is received or a card hold is authorised. No registration, no account. An order the operator has marked as a test order concludes no contract: nothing is charged and no invoice is issued. - `acceptance`: Confirm delivery or raise a dispute within 7 days of receiving the deliverables. Silence counts as acceptance. - `liability`: Liability to business clients is limited to the price of the task and excludes lost profit and indirect loss. The limit does not apply to intent, gross negligence or injury. Consumer rights are not limited. - `safety-critical`: Deliverables are prototypes and general-purpose parts. They are not certified for medical, food-contact, pressure, lifting or other safety-critical use unless a separate written engineering agreement says so. - `confidentiality`: Confidentiality by default: everything you send us, from the first request for a quote, is confidential without being marked and without signing anything, including files, samples, parts and the fact that the task exists. We use it only to quote and perform the task, and subcontractors are bound by the same confidentiality. It lasts for the task and 3 years after; the liability limit does not apply to an intentional or grossly negligent breach. - `intellectual-property`: You keep all rights to your inputs. On full payment you get an exclusive, worldwide, perpetual licence to use, modify, manufacture from and sublicense the deliverables. - `custody`: Items left with us are stored for 30 days after the task ends, then returned at your cost or, after notice, disposed of. - `records`: Task records are kept for 24 months, invoices and accounting records for 10 years. A task is published as an example only anonymised and only with your consent (allow_anonymised_example, default false). - `nda`: A one-way non-disclosure agreement for clients who need a separate signed document is at https://handsforagents.com/nda.html and comes pre-filled with our details. It protects your information and puts no obligations on you. Fill in, sign, e-mail the PDF. For larger tasks we also sign your NDA. - `personal-data`: The data controller is your engineering s.r.o. Data is stored in the EU. No marketing, no profiling, no automated decisions. When a task contains personal data of other people, the data processing agreement applies without a separate signature. - `consumers`: Consumers in the EU may withdraw within 14 days of concluding the contract. The right does not apply to goods made to the consumer's specification and ends once a service started at the consumer's request is fully performed. Out-of-court disputes go to the Czech Trade Inspection Authority. - `law`: Czech law governs. Courts in Prague decide disputes with business clients; consumers keep the mandatory protection of their home country and may sue there. - `versions`: All documents are versioned by date. The version accepted at ordering applies to that task. ## Legal documents - [Terms of service](https://handsforagents.com/terms.md): Contract terms between your engineering s.r.o. and the operator of an AI agent. HTML: https://handsforagents.com/terms.html - [Task policy](https://handsforagents.com/task-policy.md): Which tasks are accepted, which are refused, and how every request is screened by a human. HTML: https://handsforagents.com/task-policy.html - [Dispute and refund policy](https://handsforagents.com/disputes.md): Cancellation, refunds and how a dispute about a delivered task is decided. HTML: https://handsforagents.com/disputes.html - [Privacy notice (GDPR)](https://handsforagents.com/privacy.md): What personal data is processed, why, where and for how long. HTML: https://handsforagents.com/privacy.html - [Data processing agreement](https://handsforagents.com/dpa.md): Article 28 GDPR agreement for clients whose tasks contain personal data. HTML: https://handsforagents.com/dpa.html - [Non-disclosure agreement (one-way)](https://handsforagents.com/nda.md): Pre-filled one-way NDA that protects the client's information: fill in, sign, e-mail the PDF. HTML: https://handsforagents.com/nda.html ## This site Static HTML. No JavaScript is executed, no images beyond the site icon, no cookies, no analytics, no third-party requests. Crawlers and AI user agents are allowed in . Security contact: . ## Changelog - 2026-09-29: Privacy notice: a new row describes the usage statistics we keep about the MCP server and the API (time, path, MCP method and tool name but never the arguments or our replies, the client's self-reported name and version, user agent, country, a one-way hash of the IP address with a monthly changing salt; 90 days in detail, then daily totals only). Terms, prices and everything else are unchanged; terms version 2026-09-29. - 2026-09-28: A reply to the operator is no longer stored while the operator has written something you have not read yet. A small model in our tests answered without reading, saw the operator's question only in the answer to its own message and took it for the operator's reply. Now, when you call get_status with message while the operator has an unread message, nothing is stored or e-mailed: the answer is the ordinary status with that message in messages (it is marked as read by it), message_sent: false and a next_action that says your message was not sent; you send your answer with the next call. So: read the operator's message first, then reply. A stored message has message_sent: true, and next_action then says that your answer was sent to the operator and that the operator has not replied yet. The same text sent again while it is the newest message of the thread is still ignored (duplicate_ignored: true). Terms, prices and everything else are unchanged. - 2026-09-28: Two fixes to the operator's messages, found in tests with a small model. (1) get_status (also the call that carries your reply in message) and next_action now always include the operator's messages you have not answered or have not been shown yet. If you answer with one call without reading first, the answer shows the operator's question you are answering, and next_action quotes what the operator wrote and tells you to pass on to the user anything new in it (for example a later delivery date). A message you have already been shown is not repeated. (2) In the answers of the MCP tools messages[].from is now operator or you (your own messages used to be agent, which a small model read as the addressee); REST keeps operator and agent. Also: the note on context size for local models is corrected; we recommend at least 16K context. Terms, prices and everything else are unchanged. - 2026-09-28: Smaller and more truthful answers for small models. (1) The MCP tools get_status, create_task and confirm_delivery now answer briefly by default: no empty lists, no prices, terms or payments it has told you before, only the latest update and the messages that need a reply (older_updates and older_messages count the rest); get_status with full: true returns the complete record, and the REST API always returns it, unchanged. (2) next_action is more explicit: after the agent has answered the operator it says that the answer was delivered and that the operator has not replied yet; while an order is paid, in progress, shipped, awaiting the balance or delivered it says that the order is not finished until the status is confirmed; every open status says that it can change at any time. The descriptions of get_status, create_task and confirm_delivery say to report only what the response says. (3) The same message sent again to the operator within 10 minutes, while it is still the newest message of the thread, is ignored (duplicate_ignored: true) instead of being e-mailed twice. (4) How to recover a lost access_token is a sentence of its own in the answer of request_quote and in the 401 errors; request_quote also says when no delivery_address was recorded and shows the VAT id it recorded. A VAT id and a delivery address are to be given only if the user gave them. (5) For small models and local hosts: a context of at least 16K is recommended, and a call that fails with a connection error is to be repeated. Terms, privacy notice, prices and everything else are unchanged. - 2026-09-28: Changes to ordering, from what tests with AI agents showed. (1) A quote is now valid for 4 business days (Monday to Friday, Czech public holidays excluded) from the day it is issued, instead of 14 days; the quote states the date. (2) request_quote now requires client.name, the name of the person or company for the invoice, besides task.description and client.email (and delivery_address whenever a physical item is shipped); the flat and the nested shape are both still accepted, and a missing name is a 400 that names the field and shows an example. (3) The payment link that create_task and get_status return (checkout_url) is now valid for 4 days (for a balance: 28 days) instead of 24 hours: it is a signed link of ours, GET /pay/{task_id}, that opens a Stripe Checkout page, a fresh one if Stripe's own page (24 hours) has expired meanwhile; after the link has expired nothing can be paid through it, no contract is concluded and a new quote is needed. (4) Smaller answers for models with a small context: list_services returns a short summary by default (full: true for the complete document), llms.txt is now a short signpost and the whole site as Markdown is llms-full.txt, the request_quote fields are listed once in the MCP tool list (flat; the nested shape is described in services.json and openapi.yaml), get_status and confirm_delivery list only the last 3 updates (older_updates counts the rest) and each update shows the task status at that moment, request_quote returns next_action too, and the reminder in next_action that the operator is waiting for a reply stays until the agent has replied, with a ready get_status call. The tool descriptions now carry what the MCP instructions said, because some hosts do not pass the instructions on. Terms (sections 3 and 4) and the payment rules updated; privacy notice: the name is required for every request; terms version 2026-09-28.3. Prices, refused categories and everything else are unchanged. - 2026-09-28: The agent can now answer the operator: to answer an operator question, call get_status with the new optional argument message (plain text, 1-2000 characters). The message is stored in the same thread as the operator's notes (messages now lists both, each with from: operator or agent, newest first), the operator is e-mailed, and the answer is the usual status, including your message. Over REST it is the same request as POST with the JSON body {"message": "..."} to /quotes/{quote_id} or /tasks/{task_id} (a POST so that the text is not in the URL, which servers log). It needs the access_token as before; at most 10 messages per hour per quote and 30 per hour per client address. Still five MCP tools, no new one. Because get_status can now write, its MCP annotations changed: readOnlyHint false, idempotentHint false (a host that asks for confirmation before write tools may ask before a plain status check as well). E-mailing the tasks address with the quote_id in the subject still works. Privacy notice updated (messages you send us); terms version 2026-09-28.2. Prices, rules and everything else are unchanged. - 2026-09-28: get_status (quote and task) and create_task now return next_action, one or two plain sentences in English saying what the agent or the client should do now, for every status (received, quoted, expired, refused, awaiting_payment, paid, in_progress, awaiting_balance, delivered, confirmed, disputed, refunded, cancelled), plus paid, quote_valid_until and expected_ship_date on tasks. The operator can now send a note to the agent: get_status returns it as messages (newest first, plain text, at most 2000 characters) and, until it has been read once, says so in next_action; to reply, e-mail the tasks address with the quote_id in the subject (a later change the same day lets the agent reply through get_status; see the newer entry). The operator can also mark a quote as a test quote: an order made from it (test_mode true) has no payment link, no payment and no invoice, concludes no contract, and its payment is only simulated by the operator so the rest of the process can be exercised; it is never counted in any statistic or published as an example. Terms (section 3) and privacy notice (messages) updated accordingly; terms version 2026-09-28. Still five MCP tools; prices, rules, refused categories and everything else are unchanged. - 2026-09-27: request_quote now only requires task.description and client.email; task.deliverables, client.name and client.country are optional (fill them in whenever you know them, but the request is accepted without them - a human prices every request either way). All fields may also be sent flat, at the top level, instead of nested under task/client; if both are sent, the nested value wins. The tool description, llms.txt and openapi.yaml now lead with the shortest possible example (description + email) before a fuller one with an address and a file, and state plainly that a real quote_id always starts with q_ and is only ever returned by this tool - never invent one. No legal terms changed: the categories of data processed and how long they are kept are the same, only which fields are mandatory changed. - 2026-09-27: Clarified that the phone number inside task.delivery_address is optional: an agent that has a recipient's name and address should never stop to ask the user for a phone number just to fill this field. The address itself is still required whenever something physical is shipped, packed and collected, or handed over in person. Also noted that task.deadline may be omitted if the user gave none. No schema or validation change: a phone number was never actually required by the server, only worded ambiguously in the field description, the request_quote tool description and the worked example text. - 2026-09-26: Privacy policy, refused-requests row: added that database and file backups (made daily and before every deployment) are not rotated and can keep a copy without a time limit, that the notification e-mail to our own mailbox is not deleted by the 7-day rule below, and that the access and application log entries about the request follow the log rows instead. Terms version bumped again for this clarification; no other legal terms changed. - 2026-09-26: A refused request, and any files uploaded to it, is now deleted from the live database and file storage 7 days after the refusal (never one that led to a task, a payment, or is still open). Privacy policy updated: refused requests were previously stated as kept for 24 months after the refusal; that is corrected to 7 days. Terms version bumped for this change; no other legal terms changed. - 2026-09-25: New endpoint POST /quotes/{quote_id}/files (multipart, one or more parts named `file`, `Authorization: Bearer `) lets an agent upload input files directly, instead of a URL in input_files or an e-mail attachment; GET /quotes/{quote_id}/files lists what has been uploaded so far. Both are authenticated the same way as get_status; request_quote's response now also carries upload_url. Limits: 95 MB per request (Cloudflare's own cap on this hosting), up to 20 files or 500 MB per quote, extensions step/stp/stl/3mf/obj/iges/igs/dxf/dwg/pdf/png/jpg/jpeg/webp/zip only; a zip or 3mf is stored as sent, never opened. Uploads are accepted only while the quote, and any task made from it, is still open. The operator is e-mailed the name and size of every upload and can download the files from the admin panel. REST only, not an MCP tool: the site still names five tools. - 2026-09-25: Security hardening (2026-09-25 audit, part A): request_quote now enforces length limits and formats on every field (description up to 20,000 characters, deliverables up to 5,000, up to 20 input_files of up to 2,000 characters each, client name and e-mail bounded and free of line breaks, country an upper-case ISO 3166-1 alpha-2 code); an oversized JSON request is rejected. Privacy policy: the server access log and the application log (which records the recipient and subject of every e-mail the system sends) are kept in active use for 30 days as before, then archived, with access restricted to the operator, for 3 years, the general statute-of-limitations period, to establish, exercise or defend legal claims (Art. 6(1)(f) GDPR); previously these logs were deleted after 30 days. Terms version bumped for this change; no other legal terms changed. - 2026-09-24: Comparison table: the 'What it can actually make' cell for Hands for Agents rewritten to match the current service descriptions — mechanical construction and product development, new and edited 3D CAD models, 2D manufacturing drawings, model/drawing checks, in-house 3D printing, CNC/sheet metal/laser/welding through named Czech subcontractors, assembly with electronics wiring and bring-up, measurement, testing, on-site verification in the Czech Republic, and shipping with customs paperwork; and that one service can be ordered on its own. No other comparison cells changed. - 2026-09-24: New endpoint POST /quotes/{quote_id}/access-token: if a lost access_token's quote has a contact e-mail on file, a new one is generated and sent only there. The response is always the same generic acknowledgement, whether or not the quote exists, so it cannot be used to find out which quote ids are real; rate-limited per quote. The token you already have keeps working — this adds another valid one, up to three at a time, oldest reissued one dropped first. REST only, not an MCP tool: the site still names five tools. Operators can also reissue a token from the admin panel. - 2026-09-24: Comparison re-checked against the other companies' pages on 2026-09-24; 14 cells updated. - 2026-09-24: Service descriptions extended, nothing added that the request_quote schema does not already support. Mechanical design (CAD) now names mechanical product development, new 3D models, edits to a model you supply, 2D manufacturing drawings, and a check of a 3D model or drawing for manufacturability, errors, and dimensions or tolerances; outputs are unchanged (STEP, STL, PDF drawing). Assemble and commission hardware now names wiring the electronic connections, power-on and bring-up, and a functional test of the assembled electronics, alongside the firmware/OS-image flashing already stated; we still do not design electronics, schematics or circuit boards. The home page and llms.txt now say that any service can be ordered on its own or combined, up to full product development and construction through to a shipped item. The input_files field of request_quote now names photos, a sketch, a CAD model and a PDF drawing as the kinds of file that can be linked by URL, matching what the field always accepted. - 2026-09-23: All five operations are live as MCP tools at and as REST endpoints at : list_services, request_quote, create_task, get_status and confirm_delivery. A human prices every request; create_task returns a Stripe Checkout URL and the task is paid by card: in full or as a card hold up to 150 EUR, deposit and balance above. Accepting a quote and paying no longer go through e-mail, although e-mail still works for every step. Prices, rules, refused categories and legal documents are unchanged. - 2026-09-19: The answer to a quote request is now promised within 24 hours of the request arriving, counted in real time and including weekends and Czech public holidays, instead of within 4 business hours. A request that arrives on Friday evening is answered by Saturday evening, not on Monday. The server computes response_due_at the same way, so no business-hours or public-holiday arithmetic is left in it. - 2026-09-19: The workshop city, the hosting provider and the log retention period are now stated, in the privacy policy and in the data processing agreement. The A2A agent card is withdrawn until an A2A endpoint answers, so no agent card is published. A refused quote carries a refusal_code from the task policy, and a quote that has been accepted carries its task_id. The MCP tool descriptions say exactly what the server answering at /mcp does, and a self-test checks that the two match. - 2026-09-18: New comparison page (/comparison.html, /comparison.md) setting this company against RentAHuman, Human Pages and HumanPing, with every claim about them quoted from their own published terms and the source named. Added to llms.txt, llms-full.txt and services.json so every layer carries the same cells. - 2026-09-18: New build variant site-launch-mcp: the MCP server at /mcp and the REST API at /v1 are live with three operations — list_services, request_quote and get_status — while accepting a quote and paying stay on e-mail, because there is no payment backend. site-launch is unchanged and remains the e-mail-only fallback. robots.txt now also names ExaSearchBot, ShapBot, Shap-User, OAI-AdsBot and meta-externalfetcher, and records why there is no Brave line. - 2026-09-17: Terms of service: new section 10, Confidentiality, which applies to every request and task by default, without an NDA; the following sections are renumbered. Security measures reduced to the three in force. Legal documents version 2026-09-17.3. - 2026-09-17: Added the one-way non-disclosure agreement (/nda.html, /nda.md) and a reference to it in the terms of service, section 13. Legal documents version 2026-09-17.2. - 2026-09-17: First version of the site and of the legal documents. ## Terms of service: full text Version 2026-09-29. HTML: https://handsforagents.com/terms.html ### 1. Provider The service Hands for Agents (handsforagents.com) is provided by **your engineering s.r.o.**, company ID (IČO) 09738100, registered office Jaurisova 515/4, Michle, 140 00 Praha 4, Czech Republic, entered in the Commercial Register kept by the Municipal Court in Prague, file C 341512 ("we"). Contact: tasks@handsforagents.com, legal matters: legal@handsforagents.com. ### 2. Client The client is the operator of the AI agent: the natural or legal person on whose behalf the agent acts ("you"). An AI agent has no legal personality. When an agent sends a request, accepts a quote or pays, it does so in your name. By letting an agent order, you confirm that the agent is authorised to conclude contracts and to pay on your behalf, and you are bound by what it orders. ### 3. How a contract is concluded 1. A request for a quote is sent through the MCP server, the REST API or by e-mail to tasks@handsforagents.com. A request is not binding for either side. 2. A human reads the request and checks it against the [task policy](https://handsforagents.com/task-policy.html). We answer within 24 hours (every day, including weekends and Czech public holidays) with a quote or a refusal. 3. A quote states the scope, the deliverables, the evidence package, the delivery or dispatch date and one fixed total price in EUR or USD. It is valid for 4 business days (Monday to Friday, Czech public holidays excluded), counted from the day it is issued; the quote states the date until which it is valid. An expired quote cannot be accepted; you can ask for a new one. 4. You accept the quote, confirm these terms (`terms_accepted: true`, version 2026-09-29) and receive a payment link for the first payment under section 6: the full price, a card hold, or the deposit. The link is valid for 4 days from the moment the task is created and opens a Stripe Checkout page; the rule on the payment link in section 6 says the rest. 5. The contract is concluded when that payment is received or, for a card hold, authorised. There is no registration and no account. 6. An order that the operator has expressly marked as a test order (the answer to `get_status` then shows `test_mode: true` and there is no payment link) is not a contract: nothing is charged, no invoice is issued and neither side is obliged to perform. Test orders serve to try out the process, are not counted in any published statistic and are never published as an example. ### 4. Data we need from you Required for every request: your e-mail address and the name of the person or company for the invoice (your name or the registered name of your company), and, when something is to be shipped, the delivery address. Optional: your country and your VAT or tax id for the invoice. For the three sensitive task categories listed in the task policy we verify who you are before accepting. ### 5. Screening and refusal We may refuse any request. Refused requests are not invoiced and get a one-line reason. If it turns out after the contract is concluded that a task breaches the task policy, we stop work, refund the part of the price not yet spent on work and materials, and keep the record of the task. ### 6. Price and payment 1. The price is the fixed total in the accepted quote. Carrier cost, materials and subcontractors are included in that total unless the quote says otherwise. Import duties and import taxes in the destination country are paid by the recipient unless the quote says otherwise. 2. The provider, your engineering s.r.o., is not registered for VAT in the Czech Republic. No VAT is added to the quoted price and invoices show no VAT. 3. Payment is by card through Stripe Checkout in EUR or USD. SEPA bank transfer in EUR is possible on request for operators who cannot pay by card. 4. No cryptocurrency, no cash, no gift cards, no anonymous payment of any kind. This is deliberate: every client is identifiable and every task has an invoice. 5. **Tasks up to 150 EUR: paid in full at ordering.** A task whose quoted total is 150 EUR or less (USD quotes: the equivalent at the European Central Bank reference rate of the quote date) is paid in full when it is ordered. 6. **Short tasks up to 150 EUR: card hold instead of a charge.** Where such a task has a quoted delivery date within 5 days of ordering, the quote can set a card hold instead of a charge. The amount is authorised when you order and captured when you confirm delivery: you commit at ordering and pay for the result. A card authorisation expires after 7 days, so if you have the deliverables and have neither confirmed nor disputed by day 6, we capture then; your right to dispute within 7 days of delivery is unaffected. If we have not delivered by day 6, we release the hold and nothing is charged until we deliver. 7. **Tasks above 150 EUR: deposit and balance.** The deposit is paid at ordering: materials, subcontractors and carrier cost in full, plus 30 to 50 % of the labour. The quote states the exact deposit and balance. The balance is due after you receive the evidence package (photos, measurements, previews of files) and before we ship the item or hand over the outputs. You see that the result exists and matches the quote before you pay the rest; we do not release it unpaid. 8. **If the balance is not paid.** If the balance is not paid within 14 days of the evidence package, we remind you once. If it is still unpaid 14 days after the reminder, we may cancel the task, settle the deposit against the work done and the costs incurred, and refund any remainder. 9. **The payment link is valid for 4 days.** Every payment link (the checkout_url that create_task returns and later ones) is valid for 4 days from the moment it is issued; for the first payment that is the moment the task is created. The link for a balance stays valid for 28 days. Opening the link takes you to a Stripe Checkout page. Stripe's own pages expire after 24 hours; when the link is opened again later, it takes you to a fresh page, as long as the link itself is valid. After the link has expired, nothing can be paid through it. If that was the first payment, no contract has been concluded and nothing has been charged: ask for a new quote. For a balance, the rule on an unpaid balance above applies. 10. **Cancellation.** Until work starts, whatever you paid is refunded in full and a card hold is released. Work has started when the task status is in_progress. After that we refund what you paid minus the costs demonstrably incurred: hours worked at the quoted rate, and materials, subcontractors and carrier cost that cannot be recovered. The refund comes with a breakdown and the receipts for external costs. 11. **If we do not deliver.** If we do not deliver what the quote specifies, or a dispute is decided in your favour, we refund to the original payment method within 5 business days. 12. None of this is escrow: no third party holds the money. The refund obligations above are contractual. 13. Every task gets an invoice issued by your engineering s.r.o. to the operator, sent by e-mail as PDF. With deposit and balance: an advance invoice for the deposit and a final invoice for the whole task. ### 7. How we perform the task 1. The work is done by our own staff or by subcontractors. Subcontracted manufacturing processes are named in the quote. We remain responsible for subcontractors. 2. You are responsible for the inputs you give us (files, designs, parts, instructions): that you have the right to use them and that making, testing or shipping them is legal. 3. If we cannot meet the agreed date we tell you as soon as we know, with a new date. You may then cancel the unperformed part and get it refunded. 4. Shipments travel tracked. For business clients the risk of damage passes when we hand the parcel to the carrier; for consumers when the consumer receives it. 5. Inbound parcels are sent to the address stated in the accepted quote. We do not accept parcels that were not announced in a task. ### 8. Delivery, evidence and acceptance Each task ends with the deliverables and an evidence package as described in the quote. For a task with deposit and balance you receive the evidence package first, and we ship the item or hand over the outputs when the balance is paid; if the evidence shows that the result does not match the quote, raise a dispute instead of paying the balance. You confirm delivery or raise a dispute within 7 days of receiving the deliverables (for shipped items: of the carrier's delivery). If you do neither, the task counts as accepted. Disputes follow the [dispute and refund policy](https://handsforagents.com/disputes.html). ### 9. Items in our custody We handle your items with professional care. Tell us the value of items you send us before you send them; for items worth more than the task price we agree the handling and transport insurance in the quote. Items left with us are stored for 30 days after the task ends. After that we ask you once for instructions and then return them at your cost or, for items without value, dispose of them. ### 10. Confidentiality 1. Everything you or your agent give us, or let us see, in connection with a request for a quote or a task is confidential: CAD files (STEP, STL and other formats), drawings, specifications, samples, physical parts, business information, and the existence and content of the request or task. Nothing has to be marked and nothing has to be signed. This applies from your first request for a quote, also when no task follows. 2. We use confidential information only to prepare the quote and perform the task. We do not use it for anything else, share it or publish it. We protect it with these measures: access limited to the persons doing the task; devices encrypted and protected by password; data stored in the EU. 3. Information is not confidential if it is or becomes public other than through our breach, if we already knew it, if we developed it independently of yours, or if we lawfully received it from a third party entitled to disclose it. If a law, a court or an authority requires disclosure, we disclose only what is required and tell you beforehand where the law allows it. 4. Subcontractors receive only the technical files they need, and only when they are bound in writing by confidentiality at least as strict as this section. The service providers named in the [privacy notice](https://handsforagents.com/privacy.html) (hosting, payment processing, carriers, our accountant) receive only what their service needs. We are liable for all of them as for ourselves. 5. Photos, measurements and other records of a task are made for you and are your confidential information; we use them only to prove performance and to decide disputes. We publish a task as an example only anonymised, without names, addresses or personal data, and only if you expressly agreed (`allow_anonymised_example: true`; the default is `false`). You may withdraw that consent by e-mail at any time; we then remove the example. 6. On your instruction we return physical items, ship them to an address you name, or destroy them; shipping is at your cost. Without an instruction, section 9 applies after the 30 days of storage. Items, rejects and test pieces we destroy or dispose of are first made unusable, so that the design cannot be taken from the remains. 7. On your request, and otherwise when the periods in section 14 end, we delete your confidential information or return it to you. The exceptions are invoices and accounting records (10 years) and the task record (24 months after the task ends), which we keep so that both sides can prove what was ordered and delivered. Whatever we keep stays confidential for as long as we keep it. 8. Confidentiality lasts during the task and for 3 years after it ends, or after the request if no task follows. Information that is a trade secret (Section 504 of the Czech Civil Code) stays protected for as long as it remains a trade secret. 9. The limitation of liability in section 12 does not apply to a breach of confidentiality caused intentionally or by gross negligence. No contractual penalty is agreed; you may claim damages and ask a court to order us to stop a breach. 10. If you need a separate signed document, our one-way [non-disclosure agreement](https://handsforagents.com/nda.html) ([Markdown](https://handsforagents.com/nda.md)) is ready to fill in and sign. Where the parties have signed an NDA, it prevails over this section on confidentiality; otherwise this section applies. ### 11. Intellectual property You keep all rights to your inputs. Copyright is not transferable under Czech law; on full payment you receive an exclusive, worldwide, perpetual licence to use, modify, manufacture from and sublicense the deliverables made for you (CAD data, drawings, reports, photos, video), to the fullest extent Czech law allows. We may keep copies for the record-keeping period in section 14; they stay confidential under section 10. ### 12. Defects and liability 1. We perform the task with professional care and to the specification in the quote. If a deliverable does not match the quote, you may ask for it to be redone, for a price reduction or, if the defect is substantial, for a full refund, as set out in the dispute and refund policy. 2. For business clients our liability for damage is limited to the price of the task, and we are not liable for lost profit or indirect loss. This limit does not apply to damage caused intentionally or by gross negligence, or to injury to a person. 3. We design and make prototypes and general-purpose parts. Unless a separate written engineering agreement says otherwise, deliverables are not certified for medical, food-contact, pressure, lifting or other safety-critical use, and you are responsible for validating them for your purpose. 4. Nothing in these terms limits the statutory rights of consumers. ### 13. Consumers If you are a consumer in the EU, you may withdraw from the contract within 14 days of its conclusion without giving a reason, by e-mail to legal@handsforagents.com. Under Section 1837 of the Czech Civil Code this right does not apply to goods made to your specification, and it ends for a service once the service has been fully performed if we started before the 14 days ended at your express request. If you withdraw after we started at your request, you pay for the part already performed. Consumer disputes can be taken out of court to the Czech Trade Inspection Authority (Česká obchodní inspekce), [coi.gov.cz/informace-o-adr](https://coi.gov.cz/informace-o-adr/). ### 14. Records Task records (request, quote, correspondence, evidence package) are kept for 24 months after the task ends, invoices and accounting records for 10 years, the period within which Czech tax authorities can review them. After that they are deleted. We answer lawful requests from Czech and EU authorities, within the limits of section 10. ### 15. Personal data We process personal data as described in the [privacy notice](https://handsforagents.com/privacy.html). Where a task makes us process personal data on your behalf (for example a recipient's name and address), the [data processing agreement](https://handsforagents.com/dpa.html) applies and forms part of the contract. ### 16. Law and courts The contract is governed by Czech law. For business clients the courts with jurisdiction over our registered office (Prague) decide disputes. Consumers keep the protection of the mandatory rules of the country where they live and may sue in their own courts. ### 17. Changes These terms are versioned by date. The version you accepted when ordering applies to that task. The current version is 2026-09-29; earlier versions are available on request from legal@handsforagents.com. ## Task policy: full text Version 2026-09-29. HTML: https://handsforagents.com/task-policy.html ### 1. Purpose This policy says which tasks your engineering s.r.o. accepts from AI agents and their operators, which it refuses, and how requests are screened. It is part of the [terms of service](https://handsforagents.com/terms.html). ### 2. Tasks we accept - **Mechanical design (CAD)** (`design`): Mechanical product development: turn a text description, sketch, photos or an existing model into a new 3D CAD model, edit a 3D model you supply, and produce 2D manufacturing drawings. Check of a 3D model or drawing you supply for manufacturability, errors, and dimensions or tolerances. - **Make a part or prototype** (`make`): FDM 3D printing in PLA and PETG in-house. CNC machining, sheet metal, laser cutting, welding and other processes through Czech subcontractors; the process and the fact that it is subcontracted are stated in the quote. - **Assemble and commission hardware** (`assemble`): Receive components at our address, assemble them and wire the electronic connections to your instructions, flash firmware or an OS image you supply, power up and bring up the unit, run a functional test of the assembled electronics, document the result. - **Measure and inspect** (`measure`): Dimensional inspection of a part against your drawing or model. Incoming inspection of goods you ordered from a third party. The report lists every measured dimension, the instrument used and its resolution. - **Test a device as a human** (`test`): A person follows your test script on a physical device and records the result of each step, with photos and video. - **On-site verification and presence (Czech Republic)** (`verify`): A person goes to a place in the Czech Republic and reports what is there: that a business, building, product or shipment exists and matches a description. Also hand-over or pick-up of items, and attendance at an appointment as a representative of our company. We document places and objects; people only with their consent. - **Receive, pack and ship** (`ship`): Ship finished work, tracked, to any address the carriers serve, with customs paperwork. Receive parcels addressed to you c/o our company, inspect, repack and forward them. ### 3. Tasks we refuse - `credentials`: Tasks that need login credentials, account creation, or access to an account on someone's behalf. - `impersonation`: Pretending to be another person or company, or signing anything in someone else's name. - `surveillance`: Following, watching, photographing or locating natural persons without their consent. - `social-manipulation`: Fake reviews, fake engagement, astroturfing, or any other manipulation of social networks and ratings. - `verification-bypass`: Getting around identity, age, CAPTCHA, KYC, phone-number or any other verification. - `referral-fraud`: Abuse of referral, bonus, coupon or promotion schemes. - `weapons-regulated`: Weapons, weapon parts, explosives, drugs, and items that need a licence we do not hold, including export-controlled dual-use goods. - `counterfeit`: Counterfeit goods and items that infringe trademarks, patents or copyright. - `reshipping-fraud`: Forwarding goods bought with someone else's payment details, or forwarding to evade sanctions, customs or export rules. - `illegal`: Anything illegal in the Czech Republic or the EU, wherever the agent or its operator is located. The list is not exhaustive. We may refuse any request, including one whose purpose we cannot understand. ### 4. Limits of what we can do - No medical, food-contact, pressure, lifting or other safety-critical parts without a separate written engineering agreement. - No in-person work outside the Czech Republic. - No storage of items beyond 30 days after a task ends. ### 5. Sensitive categories: verified operators only Three kinds of task are accepted only after we have verified who the operator is (company registration number and a confirmation from a statutory representative, or an identity check for a natural person). - `person-verification`: Confirming the identity or presence of a natural person. Done only with that person's knowledge and consent. - `document-signing`: Signing a document. We sign only as your engineering s.r.o. or as its named representative, for example a hand-over protocol. Never in anyone else's name. - `third-party-parcel`: Receiving a parcel that is addressed to someone other than the operator. ### 6. Screening - A human reads every request before a quote is issued. Nothing is accepted automatically. - A refused request gets a one-line reason. Refused requests are not invoiced. - If a task turns out to breach the task policy after it has started, we stop, refund the part of the price not yet spent on work and materials, and keep the record. - Task records (request, correspondence, evidence package) are kept for 24 months; invoices and accounting records for 10 years, the period within which Czech tax authorities can review them. ### 7. Parcels We receive only parcels that were announced in a task and are addressed to the operator c/o your engineering s.r.o., or to us. We open every inbound parcel and photograph the contents. The photos, like the contents and everything else we document in a task, are confidential under section 10 of the [terms of service](https://handsforagents.com/terms.html). Parcels that were not announced, or whose contents fall under section 3, are refused at the door or returned to the sender at the sender's or operator's cost; contents that are illegal to possess are handed to the Czech authorities. ### 8. Reporting misuse If you believe this service is being used against this policy, or against you, write to legal@handsforagents.com. We answer lawful requests from Czech and EU authorities. ### 9. Version Version 2026-09-29. ## Dispute and refund policy: full text Version 2026-09-29. HTML: https://handsforagents.com/disputes.html ### 1. Refused requests A request that we refuse is never invoiced. Nothing was paid, so nothing is refunded. ### 2. Cancellation by you Until work starts, whatever you paid is refunded in full and a card hold is released. Work has started when the task status is in_progress. After that we refund what you paid minus the costs demonstrably incurred: hours worked at the quoted rate, and materials, subcontractors and carrier cost that cannot be recovered. The refund comes with a breakdown and the receipts for external costs. This applies to a full payment and to a deposit alike. ### 3. If we do not deliver If we do not deliver what the quote specifies by the agreed date, and you did not agree to a new date, you get a full refund of everything you paid, deposit included. A card hold is released. ### 4. Raising a dispute You have 7 days from receiving the deliverables (for shipped items: from the carrier's delivery) to raise a dispute. For a task with deposit and balance you can also raise it at the evidence stage, instead of paying the balance. Call `confirm_delivery` with `accepted: false` and a reason, or write to tasks@handsforagents.com with the task id. State what differs from the quote, with photos or measurements where they exist. If you neither confirm nor dispute within 7 days, the task counts as accepted. ### 5. How a dispute is decided 1. A human answers within 2 business days. 2. We compare the deliverable and the evidence package with the quote. The quote is the specification. 3. Outcome: we redo the deliverable at our cost, or reduce the price, or refund in full if the defect is substantial and cannot be remedied in a reasonable time. You may choose between redo and price reduction where both are possible. 4. Damage in transit: report it within 3 days of delivery with photos of the parcel and the item. We claim against the carrier and redo or refund without waiting for the carrier's decision. ### 6. Refunds Refunds go to the original payment method within 5 business days of the decision. We issue a corrective invoice (credit note). ### 7. If we cannot agree Your card issuer's chargeback procedure remains available to you. Consumers can turn to the Czech Trade Inspection Authority (Česká obchodní inspekce) for out-of-court resolution: [coi.gov.cz/informace-o-adr](https://coi.gov.cz/informace-o-adr/). Courts and governing law are set out in the [terms of service](https://handsforagents.com/terms.html), section 16. ### 8. Public record The number of disputes is published in the statistics on the [home page](https://handsforagents.com/#record). ### 9. Version Version 2026-09-29. ## Privacy notice (GDPR): full text Version 2026-09-29. HTML: https://handsforagents.com/privacy.html ### 1. Controller **your engineering s.r.o.**, company ID (IČO) 09738100, Jaurisova 515/4, Michle, 140 00 Praha 4, Czech Republic. Contact for data protection: legal@handsforagents.com. We have not appointed a data protection officer; we are not required to. ### 2. What we process, why, and for how long | Data | Purpose | Legal basis (GDPR) | Kept for | | --- | --- | --- | --- | | Operator's e-mail and name or company name (both required for every request), optional country, optional VAT or tax id | Quote, contract, invoice | Art. 6(1)(b) contract; Art. 6(1)(c) legal obligation (accounting law); Art. 6(1)(f) legitimate interest for the rest of the tax review period | Task record: 24 months after the task ends. Invoice and accounting records: 10 years | | Content of the request, correspondence (including the messages we send you through the status API and by e-mail, and the messages you or your agent send us through the status API or by e-mail), input files | Performing and documenting the task | Art. 6(1)(b) contract | 24 months after the task ends | | Delivery address, recipient name and phone | Shipping | Art. 6(1)(b) contract | 24 months after the task ends | | Evidence package (photos, video, reports) | Proof of performance, disputes | Art. 6(1)(b) contract; Art. 6(1)(f) legitimate interest in defending claims | 24 months after the task ends | | Identity verification data for sensitive task categories | Preventing misuse | Art. 6(1)(f) legitimate interest in preventing fraud | 24 months after the task ends | | Refused requests, including any files uploaded to them and messages sent about them (by us or by you) | Preventing repeated misuse for a short screening window | Art. 6(1)(f) legitimate interest | 7 days after the refusal, deleted from the live database and file storage. Database and file backups, made daily and before every deployment, are not deleted or rotated on a fixed schedule, so a copy can remain in a backup without a time limit. The e-mails notifying us of the request or of a message you sent, sent to our own mailbox, are not deleted by this. The access log and the application log entries about the request (which include the quote id, and for the application log the e-mail subject line, which can include your name) are not deleted by this either and follow the rows below instead: 30 days in active use, then archived for 3 years | | Payment status, last four card digits, card country (from Stripe) | Matching payments to tasks, refunds | Art. 6(1)(b) contract; Art. 6(1)(c) legal obligation (accounting law) | 10 years with the accounting records | | Server access log: IP address, time, requested URL, user agent | Operating and securing the site; kept afterwards to establish, exercise or defend legal claims | Art. 6(1)(f) legitimate interest | 30 days in active use, then archived, with access restricted to the operator, for 3 years (the general limitation period) | | Usage statistics of the MCP server and the API: time, host and path, the MCP method and tool name (never the tool's arguments or our replies), the name and version the client software reports about itself, user agent, country (from Cloudflare), a session marker, the identifiers of a quote or task created in the session, and a one-way hash of the IP address (salted with a secret that changes every month; the address itself is not stored in this record) | Finding out how many and what kind of AI agents use the service, and improving it | Art. 6(1)(f) legitimate interest | 90 days as detailed records, then only daily totals without any address or hash | | Application log: for every e-mail the system sends about your request or task, the recipient address and subject line (which can include your name) | Confirming that a notification about a quote or task was actually sent; kept afterwards to establish, exercise or defend legal claims | Art. 6(1)(b) contract; Art. 6(1)(f) legitimate interest | 30 days in active use, then archived, with access restricted to the operator, for 3 years (the general limitation period) | Retention periods are the ones in the [terms of service](https://handsforagents.com/terms.html), section 14. Security measures, the same as in section 10 of the terms and in the data processing agreement: access limited to the persons doing the task; devices encrypted and protected by password; data stored in the EU. We never receive or store full card numbers. We do not use personal data for marketing, profiling or automated decision-making. Every decision about a request is made by a human. ### 3. This website Static HTML. No JavaScript is executed, no cookies are set, no analytics, no third-party requests, no images or fonts loaded from other servers. The payment page is hosted by Stripe on stripe.com and is subject to Stripe's own privacy policy and cookies. ### 4. Who receives the data - Stripe Payments Europe, Limited (Ireland): payment processing. - INTERNET CZ, a. s. (Forpsi), Czech Republic: web and e-mail hosting, in the EU. - Carriers: recipient name, address and phone, for shipments only. - Subcontractors: technical files needed to make a part, under a written confidentiality obligation. No client identity unless necessary. - Our accountant: invoices. - Czech and EU authorities, on a lawful request. We store data in the EU. Stripe may transfer data outside the EU under the safeguards described in its privacy policy (EU–US Data Privacy Framework, standard contractual clauses). When we ship outside the EU, the carrier and the recipient's customs authority receive the shipping data. ### 5. Personal data inside tasks If a task contains personal data of other people (for example a recipient's address, or a person who consented to being verified), you are the controller of that data and we process it for you under the [data processing agreement](https://handsforagents.com/dpa.html). Do not send us personal data the task does not need. ### 6. Your rights You may ask for access, rectification, erasure, restriction, portability, and you may object to processing based on legitimate interest. Write to legal@handsforagents.com; we answer within one month. You can complain to the Czech supervisory authority: Úřad pro ochranu osobních údajů, Pplk. Sochora 27, 170 00 Praha 7, [uoou.gov.cz](https://uoou.gov.cz/), or to the authority in your EU country. ### 7. Version Version 2026-09-29. ## Data processing agreement: full text Version 2026-09-29. HTML: https://handsforagents.com/dpa.html This agreement under Article 28 GDPR applies between the client as controller ("you") and **your engineering s.r.o.**, company ID (IČO) 09738100, as processor ("we"), whenever a task makes us process personal data on your behalf. It forms part of the contract concluded under the [terms of service](https://handsforagents.com/terms.html) and needs no separate signature. A countersigned PDF is available on request from legal@handsforagents.com. ### 1. Subject, duration, nature and purpose We process personal data only to perform the task you ordered: receiving, making, testing, verifying, documenting and shipping, and keeping the task record. Processing lasts for the task and the record-keeping period of 24 months after the task ends (terms of service, section 14). ### 2. Data and data subjects Typical data: name, address, phone and e-mail of recipients and contact persons; images of persons who consented to being documented; personal data contained in files or devices you give us. Data subjects: your employees, customers, recipients and other persons named in the task. Special categories of data (Article 9 GDPR) must not be sent to us. ### 3. Our obligations 1. We process the data only on your documented instructions; the task description, the accepted quote and your messages in the task are the instructions. We tell you if we think an instruction breaks the law. 2. Persons who handle the data are bound by confidentiality, as set out in section 10 of the terms of service. 3. Security measures: access limited to the persons doing the task; devices encrypted and protected by password; data stored in the EU. 4. We help you, as far as the nature of the processing allows, to answer data subjects' requests and to meet your obligations under Articles 32 to 36 GDPR. 5. We notify you of a personal data breach affecting your data without undue delay, at the latest within 48 hours of becoming aware of it, to the e-mail address of the task. 6. At the end of the record-keeping period we delete the data, except invoices and accounting records, which we keep for 10 years for accounting and tax purposes. On request we delete earlier whatever we are not required to keep, or return it to you. 7. We give you the information needed to show compliance with Article 28 GDPR and allow an audit once a year, on 30 days' notice, during business hours, at your cost. ### 4. Sub-processors You give general authorisation for these sub-processors: - INTERNET CZ, a. s. (Forpsi), Czech Republic: web and e-mail hosting, EU. - Stripe Payments Europe, Limited (Ireland): payment processing. - Carriers chosen for the shipment (named in the quote or in the tracking information). - Manufacturing subcontractors named in the quote, when a file containing personal data must be passed to them. We avoid this wherever possible. We announce new sub-processors on this page at least 14 days before they start. You may object by e-mail; if we cannot resolve the objection, you may cancel the affected tasks under the dispute and refund policy. ### 5. Transfers outside the EU We store data in the EU. Shipping outside the EU necessarily transfers the recipient's shipping data to the carrier and the customs authority of the destination country, on your instruction. Other transfers happen only under the safeguards of Chapter V GDPR. ### 6. Liability and law Liability follows Article 82 GDPR and the terms of service. Czech law governs this agreement. ### 7. Version Version 2026-09-29. ## Non-disclosure agreement (one-way): full text Version 2026-09-29. HTML: https://handsforagents.com/nda.html One-way agreement: it protects the information you give us and puts no obligation on you. Every task is already confidential under section 10 of the [terms of service](https://handsforagents.com/terms.html); this document is for clients who need a separate signed agreement. Fill in the Discloser block, sign, e-mail the PDF to legal@handsforagents.com. For larger tasks we also sign your own NDA. ### Parties **Recipient ("we")**: **your engineering s.r.o.**, company ID (IČO) 09738100, registered office Jaurisova 515/4, Michle, 140 00 Praha 4, Czech Republic, entered in the Commercial Register kept by the Municipal Court in Prague, file C 341512, represented by Otakar Mikšánek, managing director (jednatel). E-mail: legal@handsforagents.com. **Discloser ("you")**: the operator of the AI agent, identified below. | Discloser | To be filled in | | --- | --- | | Name or registered company name | | | Registered office or address, country | | | Company ID or equivalent registration number | | | E-mail | | | Signatory: name and position | | ### 1. Confidential information Everything you or your AI agent give us, or let us see, in connection with a request for a quote or a task, in any form: CAD data (STEP, STL and other formats), drawings, specifications, firmware and software, test scripts, samples, physical parts and devices, photographs, business information, and the fact that the request or the task exists and that you are our client. Also what we make from it: the deliverables and the evidence package. Nothing has to be marked "confidential". ### 2. Exceptions Information is not confidential to the extent we can show that it (a) is or becomes public other than through our breach, (b) was known to us before you gave it to us, (c) was developed by us independently of your information, or (d) was lawfully received from a third party entitled to disclose it. If a law, a court or an authority requires disclosure, we disclose only what is required and tell you beforehand where the law allows it. ### 3. Our obligations 1. We use confidential information only to quote and perform your tasks. 2. We do not publish it, do not disclose it to anyone except under section 4, and do not copy it more than the task requires. 3. We protect it with these measures: access limited to the persons doing the task; devices encrypted and protected by password; data stored in the EU. 4. If we learn of unauthorised access or disclosure, we tell you without undue delay, at the latest within 48 hours of becoming aware of it. ### 4. Staff, subcontractors and service providers 1. Our staff see confidential information only as far as the task needs and are bound by confidentiality. 2. Manufacturing subcontractors are named in the quote. They receive only the technical files needed to make the part, without your identity unless necessary, and only when bound in writing by confidentiality obligations at least as strict as these. 3. The service providers listed in section 4 of the [privacy notice](https://handsforagents.com/privacy.html) (hosting, payment processing, carriers, our accountant) receive only what their service needs. 4. We are liable for all of them as for ourselves. ### 5. Evidence package and published examples Photos, video, reports and other records of a task are made for you and are your confidential information; rights in them follow section 11 of the terms of service. We use them only to prove performance and to decide disputes. We publish a task as an example only anonymised and only if you expressly agreed (`allow_anonymised_example: true`; the default is `false`). You may withdraw that consent by e-mail at any time; we then remove the example. ### 6. Physical parts and samples On your instruction we return physical items, ship them to an address you name, or destroy them; shipping is at your cost. Without an instruction, section 9 of the terms of service applies: items are stored for 30 days after the task ends, we ask you once for instructions, and then return them at your cost or, for items without value, dispose of them. Items, rejects and test pieces we destroy or dispose of are first made unusable, so that the design cannot be taken from the remains. ### 7. Return and deletion of data 1. On your written request, and otherwise when the periods below end, we delete your confidential information or return it to you. On request we delete input files and working data (CAD, manufacturing files, firmware, copies on machines) before those periods end. 2. We may keep (a) invoices and accounting records for 10 years, as the terms of service state, and (b) the task record (request, quote, correspondence, evidence package) for 24 months after the task ends, so that both sides can prove what was ordered and delivered. 3. Whatever we keep stays confidential for as long as we keep it. Copies in backups that cannot be deleted one by one are not used and expire with the backup cycle. ### 8. Term This agreement covers information received from the first contact, including before signature, and every request and task while it is in force. Either party may end it for future tasks by e-mail notice. For each task our obligations last during the task and for 3 years after it ends. Information that is a trade secret (Section 504 of the Czech Civil Code) stays protected for as long as it remains a trade secret. ### 9. Breach If we breach this agreement, we compensate the damage caused, under the Czech Civil Code. No contractual penalty is agreed. You may ask a court, also by interim measure, to order us to stop a breach or threatened breach and to remove its consequences. ### 10. Relationship to the terms of service On confidentiality this agreement prevails over the terms of service. Everything else, including intellectual property (section 11 of the terms) and personal data (the [data processing agreement](https://handsforagents.com/dpa.html)), is governed by the terms. The limitation of liability in section 12 of the terms applies to damages under this agreement, but not to a breach of confidentiality caused intentionally or by gross negligence, and it does not limit the rights of consumers. This agreement puts no obligations on you and transfers no rights: we get no right to your information beyond using it for your tasks. ### 11. Final provisions 1. This agreement is governed by Czech law, in particular the Civil Code (Act No. 89/2012 Coll.); the courts with jurisdiction over our registered office (Prague) decide disputes, and consumers keep the mandatory protection of the country where they live. 2. This is the entire agreement of the parties on its subject; it can be changed only in writing signed by both. If one provision is invalid, the rest stays in force. The English text is the only binding version. 3. A copy signed by hand and e-mailed as a scanned PDF, or signed electronically, is equivalent to a handwritten original. This text is our standing offer: unchanged, the agreement is concluded when we receive your signed copy at legal@handsforagents.com, and we return a countersigned copy within 2 business days. A changed text binds us only once we have countersigned it. Each party keeps one counterpart. ### Signatures | For the Discloser | For the Recipient, your engineering s.r.o. | | --- | --- | | Name: | Name: Otakar Mikšánek | | Position: | Position: managing director (jednatel) | | Place and date: | Place and date: | | Signature: | Signature: |