# Developers

Wrap the tools that act, run your agent once, then verify. Python and TypeScript, or let your coding agent add it for you.

Python 3.9+ and Node.js 18+. The [quickstart](/docs/quickstart) takes a few minutes, and the [production guide](/docs/production) covers going live. Free to start: see [pricing](/pricing). The SDKs, the verifier and the [protocol spec](https://github.com/AIME-TECH-UK-LIMITED/signafaide-sdk/blob/main/spec/SPEC.md) are open source on [GitHub](https://github.com/AIME-TECH-UK-LIMITED/signafaide-sdk).

## What to know

- **Local first.** Records are signed and chained in `.signafaide/` on your machine. Nothing is sent until you run `signafaide init`, which creates a free sandbox with no account. Only hashes are sent.
- **Nothing waits for the network.** Records are signed locally and sent in the background. If the service cannot be reached they wait on disk.
- **Hash only by default.** Inputs and outputs stay in `.signafaide/` in your project, and each content hash is salted, so the hash does not reveal them. Turn on `store_content` to keep them with the service, encrypted.
- **Strict mode.** For actions that must never run unrecorded: the tool runs only after the service returns its receipt.

## Python

```bash
uv add signafaide    # or: python3 -m venv .venv && .venv/bin/python -m pip install signafaide
```

```python
import signafaide

@signafaide.record
def approve_payout(claim_id: str, amount: float): ...

@signafaide.record(strict=True)
def wire_funds(account: str, amount: float): ...
```

```bash
signafaide verify
```

```bash
signafaide init
```

## TypeScript

```bash
npm install signafaide
```

```ts
import { record } from "signafaide";

const approvePayout = record(async (claimId: string, amount: number) => {
  /* your code */
}, { name: "approve_payout" });
```

```bash
npx signafaide verify
```

```bash
npx signafaide init
```

## Coding agent

```bash
npx signafaide agent setup
```

Then ask it: "Record the tools in this project that make decisions." It adds the SDK, wraps the tools and runs `signafaide verify`.

## Works with

- Coding agents: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Windsurf
- Frameworks: LangChain, OpenAI Agents SDK, Vercel AI SDK, plain functions
- Runtimes: Python 3.9 and later, Node.js 18 and later, TypeScript and JavaScript

Next: how the records are made. [How it works](/how-it-works)
