---
title: "When the client does it themselves"
url: https://services.dev/docs/people/self
captured: [legal-self.txt]
---
# When the client does it themselves

URL: https://services.dev/docs/people/self

> A rules row can let the client perform a reserved act in their own name. The Service then sells two ways, with a professional and yourself, at two prices with two boundaries, and the order picks one.

Self-help answers one question: may the client perform a reserved act themselves, and what do they pay when they do? Some clients want to, the way an inventor may sign and file their own application. The rules row decides whether they may, and the price says what it costs.

## The smallest form

`self: true` on each row the client may perform, and `price.self` on the Service:

```bash
grep -E 'self: |posture' rules.ts services/provisional-patent.ts
```

```txt title="magic values: applicant.email = signs@example.test, member = mbr_eligible"
rules.ts:      sign: { reserved: practitioner, where: '*', self: true, rail: 'brand', position: 'Signed by a registered practitioner, or by the applicant for themselves.' },
rules.ts:      file: { reserved: practitioner, where: '*', self: true, rail: 'brand', position: 'Filing for another is practice before the office.' },
services/provisional-patent.ts:  price: { usd: 199, self: 79, release: 'file', within: '5d' },
```

`check` reads both postures back, each with its boundary and its ledger:

```bash
npx services.dev check
```

```txt title="magic values: applicant.email = signs@example.test, member = mbr_eligible"
  self    The applicant may sign and file it themselves, for $79.
  bounds  reserved second_look, sign and file to patent attorney or agent · refused litigate
          self: reserved second_look to patent attorney or agent · the applicant performs sign and file, in their own name · refused litigate
  ledger  +$199.00 · AI $2.10 (example) · practitioner $150.00 (rail brand) · coverage $4.00 · you $42.90
          +$79.00 · AI $2.10 (example) · you $76.90 · self
```

## One order, either way

`price.self` makes `posture` an order input, `'full'` unless the order says otherwise. With a professional, a practitioner from the Pool claims, clears and signs:

```txt
→ POST /matters {"service":"provisional-patent","invention":["disclosure.pdf"],"applicant":{"name":"Ada","email":"signs@example.test"},"inventors":[{"name":"Ada","email":"ada@example.com"}],"entity_size":"micro","posture":"full","max_usd":199,"key":"full"}
```

```txt title="magic values: applicant.email = signs@example.test, member = mbr_eligible"
← job_7Hq2 · waiting · on claim · $199.00 held · sign · tsk_7Hq2
# mbr_eligible, in its own session: the sheet, the claim, the clearance, the packet, and the attestation
→ GET /reviews/tsk_7Hq2/sheet · POST /reviews/tsk_7Hq2/claim · POST /reviews/tsk_7Hq2/clear · POST /attorneys/matters/job_7Hq2/approve {"checklist":["the claims read on the disclosure","every inventor is named","a reasonable inquiry was made"]}
← job_7Hq2 · delivered · $199.00 charged · posture full · rules 2026-10
  record  consent · applicant · consent | questions · applicant · answer | draft · ai | examine · ai · adversarial · 4 lenses · pass | sign · person · patent attorney · * · mbr_eligible | file · USPTO · accepted · rcp_7Hq2
  ledger  +$199.00 · AI $2.10 · practitioner $150.00 (rail brand) · you $46.90
```

Under `posture: 'self'`, each reserved step the rules allow becomes an ask to the client, who performs it in their own name. The practitioner's pay drops out, and `price.self` is charged:

```txt
→ POST /matters {"service":"provisional-patent","invention":["disclosure.pdf"],"applicant":{"name":"Ada","email":"signs@example.test"},"inventors":[{"name":"Ada","email":"ada@example.com"}],"entity_size":"micro","posture":"self","max_usd":79,"key":"self"}
```

```txt title="magic values: applicant.email = signs@example.test, member = mbr_eligible"
← job_7Hq3 · delivered · $79.00 charged · posture self · rules 2026-10
  record  consent · applicant · consent | questions · applicant · answer | draft · ai | examine · ai · adversarial · 4 lenses · pass | sign · applicant · sign | file · applicant · answer
  ledger  +$79.00 · AI $2.10 · you $76.90
```

A reserved row without `self` stays reserved under either posture. Here the practitioner's second look still needs a practitioner. Talk stays facts-only, because no member adopts advice.

## Two prices, two boundaries

The Service page shows both, side by side, so the client chooses knowing what each one includes:

```bash
open http://localhost:8787/provisional-patent   # the two prices and the two boundaries, side by side
```

```txt title="magic values: applicant.email = signs@example.test, member = mbr_eligible"
With a professional · $199 per matter, within 5 days, charged on file's receipt.
  second_look: reserved to patent attorney or agent · Judgment on a draft the review still flags is the practitioner's.
  sign: reserved to patent attorney or agent · Signed by a registered practitioner, or by the applicant for themselves.
  file: reserved to patent attorney or agent · Filing for another is practice before the office.
  litigate: never performed here · Litigation is retained directly, never ordered here.
Yourself · $79 per matter, within 5 days, charged when file is done.
  second_look: reserved to patent attorney or agent · Judgment on a draft the review still flags is the practitioner's.
  sign: the applicant performs it, in their own name · Signed by a registered practitioner, or by the applicant for themselves.
  file: the applicant performs it, in their own name · Filing for another is practice before the office.
  litigate: never performed here · Litigation is retained directly, never ordered here.
```

## Every form

| Key | What it says | Default |
|---|---|---|
| `self: true` on a reserved row | The client may perform the act themselves, in their own name | off |
| `price.self` | The price under `posture: 'self'`. It declares the posture | none: one posture |
| `posture` on the order | `'full'` or `'self'` | `'full'` |

## Seven surfaces

| Surface | What `self` adds |
|---|---|
| API | `posture` on the order |
| CLI | `posture=self` on the order |
| MCP | `posture` on the order tool, with both prices in its description |
| SDK | `posture` on the typed order |
| Site | Two prices and two boundaries, and a posture picker on the order form |
| Docs | `posture` in manifest.json: its default, the client who acts, the steps and the price |
| App | Each self step is an ask in the customer portal |

## Refusals

| Code | When |
|---|---|
| [`self_unruled`](https://services.dev/docs/reference/check/self_unruled.md) | `check`: `price.self` is set, and no reserved row the Service performs allows `self` |

## Three brands

- **Legal.** The applicant signs and files their own provisional application, for $79 instead of $199. [Provisional patent application](https://services.dev/docs/examples/legal/provisional-patent.md).
- **Tax.** The owner files their own signed return, at the self price, on a row that allows it. [Annual return](https://services.dev/docs/examples/tax/annual-return.md).
- **Sales.** No reserved acts, so one posture.

---

- Up: [human: the line](https://services.dev/docs/people.md)
- Previous: [Refusals and cures](https://services.dev/docs/people/refusals.md)
- Next: [Credentials the brand holds](https://services.dev/docs/people/brand-credentials.md)
