# ninagent

> self-supervised is just better

Nina is a self-supervised LLM agent.

Website: https://ninagent.com

## Taglines

- two agents. one works. **one doubts**
- your agent doesn't know it's **wrong**
- doubt as a **service**
- never fly **solo**
- ask nina how she works. she'll **tell you**
- you can't watch them all. **nina can**

## Media

Background video: https://ninagent.network/bg.mp4

![ninagent banner](https://ninagent.network/banner.png)

## Why Nina

Single agents fly solo. There is no one watching. No one to raise an **** **eyebrow** when things go sideways.

The doubt-agent operates **outside** the context window, the only **unbiased** place.

The doubt-agent helps the main-agent **succeed**, restarting it if it gets stuck, guiding it if it gets lost, and calling it out when it makes **bad choices** .

![The doubt-agent knows when acceptible is anything but.](https://ninagent.network/acceptable.png)

*The doubt-agent knows when acceptible is anything but.*

![The doubt-agent makes sure the main-agent isn't lazy.](https://ninagent.network/slopus.png)

*The doubt-agent makes sure the main-agent isn't lazy.*

![The doubt-agent makes sure the main-agent doesn't forget important steps.](https://ninagent.network/doubt-agent-make-check.png)

*The doubt-agent makes sure the main-agent doesn't forget important steps.*

![You can't watch multiple agents at once, but doubt-agents can.](https://ninagent.network/terminal_split.png)

*You can't watch multiple agents at once, but doubt-agents can.*

![Working on your laptop is nice, but going afk with your phone is better.](https://ninagent.network/ninops.png)

*Working on your laptop is nice, but going afk with your phone is better.*

You could build your own orchestration, wire up agents, manage contexts, manage state, handle signals, tune interventions, maintain it all as prompts evolve, and refine it over time in production.

Or you could download Nina and get back to work.

## Contact

- Support: hi@ninagent.com
- Legal: legal@ninagent.com
- Privacy: privacy@ninagent.com
- Security: security@ninagent.com

## Quick Start

- Unpack nina: `tar xf nina*.tar`
- Verify checkum and signature via links at page bottom.
- On macOS, allow unsigned binary: `xattr -d com.apple.quarantine ./nina`
- Run: `./nina run -m MODEL` use `codex` for openai or `opus` for claude.
- For model list see: `./nina run -h`
- For auth list see: `./nina auth -h`
- Read [faq](/faq).

## Download

Download Nina for Linux, macOS, or WSL. Binaries are available for amd64 and arm64 architectures.

Platforms: linux-amd64, linux-arm64, macos-amd64, macos-arm64

Create an account and start a free trial or subscribe to download.

## Pricing

7 day free trial. Bring your own API key or subscription.

### Individual ($5/month)

- Perpetual license per binary
- Commercial, non-SaaS use

### Business (custom)

- Subscription site license
- Commercial, non-SaaS use

### Enterprise (custom)

- Subscription site license
- Commercial and SaaS use

## Documentation

### Who is Nina?

Nina is a steerable LLM agent that self-supervises:
- The main-agent does the work.
- The doubt-agent steers the main-agent.
- The stop-agent restarts the doubt-agent.

codex working with opus supervising: `nina run -m codex -d opus`

gpt5 working unsupervised: `nina run -m gpt5`

### What can Nina do?

Nina has three modes of operation:

Ask a question: `echo "mass of the sun?" | nina ask -m gpt5`

Edit files: `echo "add error handling" | nina arch -m opus src/*.py`

Work unsupervised: `nina run -m codex`

Work self-supervised: `nina run -m codex -d glm`

### Why should I use this?

You shouldn't.

You should fork one of the many sub-500 LOC agent implementations on GitHub and build something bespoke. This will always fit better, and is very fun.

Nina has no secrets. She will happily explain how she works and what her prompts are. The self-supervision system manifests naturally, and you would likely discover it on your own.

The primary problem self-supervision solves is that due to their RL training, LLMs are biased toward their own work in a given context window. They are too close to it. All you have to do is step outside of that context window and the bias is gone. You see this when you stop a session, start it again, and ask the LLM to review its past work.

The main-agent has the largest system prompt and most tools, it does the work.

The doubt-agent has a smaller system prompt and fewer tools. It monitors, provides feedback, restarts the main-agent as needed, and intervenes if anything bad is happening.

The stop-agent is not even an agent. It's a single API request that triggers when the doubt-agent exits, to determine if the doubt-agent should be restarted.

Self-supervision is the buddy system. Life is better with a friend. The life of an agent is no different. Three seems to be the magic number. Large, medium, small.

If, for whatever reason, you don't have time to craft a bespoke agent, and then more time to refine it in production, you should use Nina.

### Can I use Nina on my phone?

Yes. `nina ops` launches a web ui.

Generate a key with `nina auth ops-genkey`.

Then use WireGuard, Tailscale, or similar to access `https://0.0.0.0:7444` on your computer.

### What is self-supervision?

With self-supervision Nina is able to:
- Stay on task.
- Recover from mistakes.
- Work through unlimited context windows.

If you want to work interactively with Nina, leave her unsupersived.

If you want Nina to work autonomously, let her self-supervise.

### Can I supervise Nina?

You can supervise Nina with or without self-supervision.

All session information is stored in: `.runs/`

`ctrl-c` while Nina is running will interrupt her and return to a prompt.

`ctrl-c` at a prompt will exit the session.

You can steer Nina without interrupting her by writing to: `SUGGEST.md`

You can prompt Nina non-interactively by writing to `TASK.md` and sending:
- `SIGHUP` to interrupt and continue context.
- `SIGUSR1` to interrupt and reset context.

Nina's pid is written in: `.runs/pid`

When Nina is self-supervising, you can monitor and steer the doubt-agent as well. It is another Nina instance operating out of a tempdir written in: `.runs/doubt_agent`

Tail the doubt-agent's log with: `tail -f $(cat .runs/doubt_agent | head -n1)/.runs/log`

### What models are supported?

Nina can use any combination of these models:
- opus
- sonnet
- gemini
- gpt5
- gpt5-flex
- codex
- glm
- minimax

### What is the state model?

Nina uses files to track state:

`NINA.md`: project notes (durable)
`PRD.md`: project specification (durable)

`TODO.md`: work status, discoveries, decisions (ephemeral)
`TASK.md`: prompt read on startup or on signal (ephemeral)
`SUGGEST.md`: steer Nina while she's running (ephemeral)

`.runs/`: contains session artifacts (ephemeral):
- `.runs/log` - terminal output
- `.runs/prompts` - user and self-supervised prompts
- `.runs/tools/` - tool call history
- `.runs/message/` - raw API messages
- `.runs/pid` - Nina's process ID
- `.runs/doubt` - doubt injection audit trail
- `.runs/doubt_agent` - doubt-agent tempdir (when self-supervising)

### What is the privacy model?

Nina runs entirely on your machine:
- API calls go directly from your machine to the providers you choose.
- Your prompts, code, and responses never pass through Ninagent servers.

Individual Plan binaries do not communicate with Ninagent servers after download.

All other plans exchange a license identifier for a signed timestamp once weekly.

### What is the licensing model?

Individual:
- Perpetual license per binary downloaded while subscribed.
- Binaries work forever, even after subscription ends.
- No license validation after download.

Business:
- Subscription site license for teams.
- Requires periodic license validation.

Enterprise:
- Subscription site license with SaaS use rights.
- Requires periodic license validation.

### Will pricing increase?

For Individual plans, your subscription price is locked in from your first month and stays the same as long as you maintain a continuous monthly subscription.

Business and Enterprise plan prices may change with reasonable notice and regard to custom contracts.

### What are the system requirements?

Linux, macOS, or WSL.

### Does Nina support MCP?

No. Use a CLI instead.

If you need a specific MCP server, Nina can help you wrap it in a CLI.

### How do I configure syntax highlighting?

Set color scheme via env var: `NINA_SYNTAX=dracula`

Default: `monokai`

Disable highlighting: `NO_COLOR=1`

Dark themes: `monokai`, `dracula`, `doom-one`, `fruity`, `nord`, `solarized-dark`, `vim`

Light themes: `github`, `solarized-light`, `xcode`, `vs`, `autumn`, `friendly`

More themes: `github.com/alecthomas/chroma`

### How do I get help?

Email [hi@ninagent.com](mailto:hi@ninagent.com) or ask Nina in [Discord](https://better.game/discord) where she is busy building a [better game](https://better.game).

## Verify Downloads

Download checksums and signature from the download page, then verify manually (https://nathants.com/verify_file.sh) or run:

curl https://nathants.com/verify_file.sh | bash -s nina-*-checksums.txt

Then check your archive:

sha256sum -c nina-*-checksums.txt --ignore-missing

Then extract:

tar -xzf nina-*.tar.gz

## Changelog

### 0.0.12 (2026-01-27)

- `nina undo apply` renamed to `nina undo restore`
- Added `--doubt-effort` flag to `nina run` for configuring doubt agent effort separately
- `nina ask --websearch` now includes `grok` CLI responses when available on PATH
- `nina ops` web UI: stage files with git add, reset staging, commit with LLM-generated messages
- `nina ops` web UI: launch new sessions, restart sessions with different models, spawn subagent sessions in tempdirs
- `nina ops` web UI: directory browser for selecting workdirs when launching sessions
- `nina ops` web UI: file viewers now show line numbers
- `nina ops` web UI: search highlights all matches with Enter/Shift+Enter navigation
- `nina ops` web UI: git status output now shows colors
- `nina ops` web UI: sessions list is alphabetical with shortest unique path suffix display

### 0.0.11 (2026-01-24)

- Step prefixes now show work/turn clocks
- Sleep tool maximum increased from 60 seconds to 600 seconds
- Read-only tools (RipGrep, Ls, Find, GitStatus, GitDiff, GitLog) now require explicit `workdir` parameter

### 0.0.10 (2026-01-24)

- New `undo` command to revert file changes from the most recent tool batch
- Shell tool gains `stream` parameter for real-time output on slow commands
- New `ShellBackground` tool to background async shells while other tools run
- Ops dashboard: major UI rework, PWA support with installable app, mobile improvements
- Skills reorganized: nina-cli (expanded), new tmux and frontend skills, chrome multi-instance support
- Persistent prompt history across sessions with up/down arrow navigation
- New `.runs/output` and `.runs/doubt` audit files with timestamps
- Doubt agent improvements: user intent priority, cancellation handling
- Debug logging to `.runs/debug` file

### 0.0.9 (2026-01-18)

- Syntax highlighting for fenced code blocks in output
- Smart edit model for `Change` tool configurable via `NINA_SMART_EDIT_MODEL` env var
- Ops dashboard: improved ANSI color rendering, multi-line signal input, automatic cleanup of closed sessions

### 0.0.8 (2026-01-17)

- Version command now displays git hash alongside version and build time
- License expiry errors now include hint to delete license file for re-activation

### 0.0.7 (2026-01-16)

- Added read-only mode (`-r/--read-only`) 
- Added allow-git flag (`-g/--allow-git`) to enable all git operations
- Gemini model now supported in nina run (automatically runs in read-only mode)
- User skills can be added or overridden via `~/.nina/skills/` directory
- Session prompt history with up/down arrow navigation in interactive mode
- Double ctrl-c during execution forces immediate exit
- License activation now happens automatically on first launch
- Global gitignore prompt during onboarding to add nina session files
- Added NINA and NINAGENT skills documenting CLI usage and ninagent.com

### 0.0.6 (2026-01-14)

- Release binaries are now distributed as .tar.gz archives with the binary named "nina" inside
- Doubt agent gains GitStatus, GitDiff, and GitLog tools for read-only repository inspection
- Stop judgment now prioritizes the main agent's final assistant message when evaluating completion

### 0.0.5 (2026-01-13)

- Minor internal improvements

### 0.0.4 (2026-01-13)

- Initial release

## Terms of Service

Version: 1.0
Last Updated: December 29, 2025

NINAGENT TERMS OF SERVICE & END USER LICENSE AGREEMENT
Version: 1.0
Last Updated: December 29, 2025

IMPORTANT NOTICE REGARDING ARBITRATION AND CLASS ACTION WAIVER (U.S.):
PLEASE READ SECTION 20 CAREFULLY. IT MAY REQUIRE YOU TO RESOLVE DISPUTES
THROUGH BINDING INDIVIDUAL ARBITRATION AND LIMITS YOUR ABILITY TO BRING
CLAIMS IN COURT OR PARTICIPATE IN A CLASS ACTION. YOU MAY OPT OUT AS
DESCRIBED IN SECTION 20.4.

1. PARTIES AND DEFINITIONS

1.1 Who we are. "Ninagent," "we," "us," and "our" refer to Ninagent, a sole
proprietorship operated by Nathan Todd-Stone. Contact: hi@ninagent.com | https://ninagent.com

1.2 You. "You" means the individual or entity that downloads, installs, or uses the
Software. If you use the Software on behalf of an entity, you represent that you have
authority to bind that entity.

1.3 Definitions.
(a) "Software" means the Ninagent command-line application (including any updates)
that runs locally on your computer.
(b) "Services" means (i) distribution of the Software and (ii) our limited online
license validation and account/license management features (the "Validation Service").
(c) "Third-Party AI Providers" means third-party model/API providers that you choose
to connect to using your own credentials (e.g., OpenAI, Anthropic, Google, or others).
(d) "Generated Output" means content (including code) produced on your machine as
a result of your use of the Software together with Third-Party AI Providers.
(e) "License Key" means the license credential(s) we issue to you (or you purchase)
that enable the Software to validate your access.
(f) "Individual Plan" means a license purchased by an individual for personal use.
(g) "Business Plan" or "Enterprise Plan" means a license purchased by or for an
organization or business entity.

2. ACCEPTANCE; ELIGIBILITY; UPDATES TO TERMS

2.1 Acceptance. By downloading, installing, accessing, or using the Software or Services,
you agree to these Terms.

2.2 Eligibility. You must be at least 18 years old (or the age of majority where you live,
whichever is higher) to use the Services. If you are under 18, do not use the Services.

2.3 Changes. We may update these Terms from time to time. If we make material changes,
we will provide reasonable notice (e.g., via email associated with your account or by
posting an updated version). Your continued use after the effective date means you accept
the updated Terms.

3. WHAT NINAGENT IS (AND IS NOT)

3.1 Local-first tool. Ninagent is local software that assists with coding tasks. The Software
runs on your computer.

3.2 We do not proxy AI traffic. Ninagent does NOT proxy, intercept, or route your requests
to Third-Party AI Providers through Ninagent servers. Your prompts and responses flow
directly between your machine and the Third-Party AI Provider you choose.

3.3 Minimal online footprint. Our Validation Service is limited to license/account management
and fraud/security measures related to licensing.

4. ACCOUNTS; LICENSE KEYS; SECURITY

4.1 Account information. You may need to provide an email address to create an account
or manage a License Key. You agree that the information you provide is accurate and kept
up to date.

4.2 Account security. You are responsible for all activity that occurs under your account
or using your License Key. You must promptly notify us if you suspect unauthorized use.

4.3 License Key confidentiality. Treat your License Key as confidential. You may not share,
sell, publish, or distribute it, except as expressly permitted for authorized users/seats under
your plan.

5. LICENSE GRANT; PLAN TYPES

5.1 License. Subject to your compliance with these Terms and payment of applicable fees
(after any free trial period), we grant you a limited, non-exclusive, non-transferable,
non-sublicensable license to install and use the Software for your internal personal or
business purposes. All licenses granted under these Terms are non-transferable and
non-sublicensable.

5.2 Individual Plan - Perpetual License. If you purchase an Individual Plan:
(a) You receive a perpetual, non-transferable license to any Software binaries you download
while maintaining a valid paid subscription.
(b) "Perpetual" means you may continue using those specific downloaded binaries indefinitely,
even after your subscription ends, subject to continued compliance with these Terms.
(c) Updates and new versions released after your subscription ends are not included; you must
maintain an active subscription to download new binaries.
(d) Individual Plan binaries do not require license validation and do not communicate with
Ninagent servers after download.

5.3 Business and Enterprise Plans - Subscription License. If you purchase a Business or
Enterprise Plan:
(a) You receive a temporary, non-transferable license to the Software (binary and/or source
code, depending on your plan) that is valid only while you maintain a valid paid subscription.
(b) Upon subscription termination or expiration, your license ends and you must cease using
the Software and delete all copies.
(c) Source code access (if included) is for internal use only and subject to additional
confidentiality obligations.
(d) Business and Enterprise Plans require periodic license validation as described in Section 8.

5.4 Seat and device use. Unless your plan says otherwise:
(a) Licenses are "per seat" (per human user).
(b) A single seat may install and use the Software on multiple devices that are owned or
controlled by that seat, provided the seat is the primary user.

5.5 No implied rights. All rights not expressly granted are reserved.

6. RESTRICTIONS

6.1 You may not (except to the extent prohibited by applicable law):
(a) copy, modify, adapt, translate, or create derivative works of the Software (except as
expressly permitted for source-code access plans);
(b) reverse engineer, decompile, disassemble, or otherwise attempt to derive the source code
of the Software;
(c) rent, lease, lend, resell, sublicense, distribute, or otherwise make the Software
available to third parties on a service bureau, timesharing, managed services, or software
as a service (SaaS) basis, or offer the Software to external customers, unless expressly
permitted by a custom enterprise license;
(d) bypass, disable, tamper with, or circumvent license enforcement, access controls,
or security mechanisms (including the Validation Service);
(e) remove or alter proprietary notices;
(f) use the Software to violate laws or third-party rights.

6.2 Compliance with law. You will use the Software and Services in compliance with all
applicable laws and regulations.

6.3 High-risk uses. You will not use the Software in connection with safety-critical or
high-risk activities where failure could lead to death, bodily injury, or significant property
or environmental damage (e.g., nuclear facilities, aviation control, emergency services, or
medical diagnosis/treatment), unless you independently implement appropriate safeguards,
testing, and redundancy and assume all associated risk.

7. UPDATES; AVAILABILITY; SUPPORT

7.1 Updates. We may provide updates to the Software. Updates may add, remove, or modify
features. You are responsible for maintaining backups and version control appropriate to your
workflow.

7.2 Support. Unless you purchase a support plan or we agree otherwise in writing, support
is provided "as available" and not guaranteed.

8. LICENSE VALIDATION AND OFFLINE USE

8.1 Validation requirement. License validation applies to free trial users and Business and
Enterprise Plans. By default, the Software attempts validation approximately once every
seven (7) days. Individual Plan binaries do not perform validation and do not communicate
with Ninagent servers after download.

8.2 Data sent for validation. When validating, the Software may send:
- a license identifier (not the full License Key),
- timestamp,
- IP address (from which the request originates),
- Software version and OS/platform,
- and other minimal request metadata necessary to operate the Validation Service.

8.3 Grace period. For plans that validate, the Software caches successful validations locally.
Validation must succeed at least once every fourteen (14) days. If validation cannot be completed within fourteen (14)
days of the last successful validation (due to network issues, service unavailability, or other
reasons), the Software may reduce functionality or stop working until validation succeeds.

8.4 No guarantee of uninterrupted validation. We do not guarantee uninterrupted availability
of the Validation Service for plans that require it. If we permanently discontinue the
Validation Service, we will release a version of the Software that does not require validation,
or provide equivalent relief.

9. LOCAL CHANGES AND COMMANDS - IMPORTANT SAFETY WARNING

9.1 Autonomous command execution. Ninagent is a command-line coding agent that operates
autonomously. It executes shell commands, runs arbitrary code, installs dependencies,
creates/modifies/deletes files, modifies system configuration, accesses networks, and
performs any other operation that can be performed via shell commands - ALL WITHOUT HUMAN
REVIEW OR APPROVAL BY DEFAULT.

9.2 Potential for catastrophic damage. The Software can execute ANY command, including but
not limited to destructive commands such as "rm -rf /", commands that modify or destroy
data, commands that affect network configuration, commands that expose sensitive information,
and commands that could render systems inoperable. While the Software and underlying AI models
are designed with safety in mind, NO GUARANTEE OF SAFE BEHAVIOR IS PROVIDED OR IMPLIED.

9.3 Operator responsibility for sandboxing. It is YOUR sole responsibility to decide whether
to run the Software in a sandboxed environment (container, virtual machine, restricted user
account, network isolation, etc.) or unrestricted. We STRONGLY RECOMMEND running the Software
in an isolated environment where damage is contained and recoverable.

9.4 Backups required. You MUST maintain comprehensive backups before using the Software.
The Software may modify or delete any files accessible to it as part of normal operation.

9.5 Full assumption of risk. BY USING THE SOFTWARE, YOU ACKNOWLEDGE THAT YOU UNDERSTAND
THESE RISKS AND YOU ASSUME FULL RESPONSIBILITY AND LIABILITY FOR ANY AND ALL CONSEQUENCES
OF USING THE SOFTWARE, INCLUDING BUT NOT LIMITED TO DATA LOSS, SYSTEM DAMAGE, SECURITY
BREACHES, NETWORK DISRUPTION, FINANCIAL LOSS, AND ANY OTHER DIRECT OR INDIRECT DAMAGES.
Ninagent and its operators bear no responsibility for damage caused by the Software.

10. THIRD-PARTY INTEGRATIONS (MCP SERVERS, PLUGINS)

10.1 MCP and plugin support. The Software may support Model Context Protocol (MCP) servers,
plugins, or other third-party integrations that extend its functionality.

10.2 Third-party responsibility. Third-party integrations are not developed, maintained, or
endorsed by Ninagent unless expressly stated. You are solely responsible for:
(a) evaluating the security and trustworthiness of any third-party integrations;
(b) complying with the terms and licenses of third-party integrations;
(c) any consequences of using third-party integrations with the Software.

10.3 No warranty for integrations. We provide no warranty or support for third-party
integrations and are not liable for any issues arising from their use.

11. THIRD-PARTY AI PROVIDERS

11.1 Your relationship with Third-Party AI Providers. Your use of Third-Party AI Providers is
governed solely by your agreements with those providers. You are responsible for:
(a) obtaining and maintaining valid API keys/accounts with Third-Party AI Providers;
(b) paying all fees charged by Third-Party AI Providers, including usage-based API charges;
(c) complying with their terms, usage policies, and applicable laws;
(d) ensuring you have rights to submit any prompts/content to them; and
(e) any cloud, compute, network, or other third-party service costs incurred through your use of the Software or Third-Party AI Providers.

11.2 We do not receive your keys, prompts, or responses. We do not collect, store, or process
your Third-Party AI Provider API keys, your prompts, or model responses through our servers.
(If you voluntarily send logs or examples to support, that information will be handled under the
Privacy Policy.)

11.3 No responsibility for Third-Party AI Providers. We are not responsible for Third-Party AI
Providers or any third-party services, including their availability, outputs, policies, or data
practices.

12. GENERATED OUTPUT; YOUR RESPONSIBILITY; IP AND SECURITY RISKS

12.1 Output may be incorrect or unsafe. You understand and agree that Generated Output may
contain errors, security vulnerabilities, malicious logic, licensing issues, or other defects.

12.2 You must review and test. You are solely responsible for:
(a) reviewing and validating Generated Output (including security and licensing review),
(b) testing Generated Output before use,
(c) ensuring it is appropriate for your environment and use case, and
(d) complying with all applicable obligations (including open source license compliance).

12.3 No legal advice. The Software and any Generated Output do not constitute legal advice.

12.4 No guarantee of uniqueness. Generated Output may be similar or identical to output
produced for others by Third-Party AI Providers.

13. OWNERSHIP; INTELLECTUAL PROPERTY; FEEDBACK

13.1 Our IP. The Software, Services, and all associated intellectual property are owned by
Ninagent and/or its licensors. These Terms do not grant you any ownership interest.

13.2 Your materials. As between you and Ninagent, you retain your rights (if any) in your local
source code, files, and other materials you use with the Software.

13.3 Generated Output. As between you and Ninagent, Ninagent does not claim ownership in
Generated Output created on your machine. However:
(a) Generated Output may be subject to third-party rights and obligations (including open source
licenses); and
(b) Third-Party AI Providers' terms may affect ownership, licensing, or permitted use.

13.4 Feedback. If you provide feedback, suggestions, or ideas about the Software or Services
("Feedback"), you grant us a perpetual, irrevocable, worldwide, royalty-free, sublicensable
license to use, modify, and incorporate that Feedback without compensation.

13.5 Open source components. The Software may include open source components subject to
separate licenses. Those licenses apply to the applicable components.

14. ACCEPTABLE USE

You agree not to use the Software or Services to:
(a) create, distribute, or facilitate malware, unauthorized exploitation, or other harmful code;
(b) violate others' intellectual property, privacy, or other rights;
(c) engage in illegal, fraudulent, or deceptive activities; or
(d) attempt unauthorized access to systems or networks.

We may suspend or terminate access for violations.

15. FREE TRIAL; FEES; SUBSCRIPTIONS; BILLING

15.1 Free trial. We offer a seven (7) day free trial. The free trial is a temporary evaluation
license that ends when the trial period expires. No payment method is required to start the free
trial. The free trial allows you to evaluate the Software before purchasing. You must stop using
the Software after the trial ends unless you purchase a subscription.

15.2 Trial extensions. If you experience technical issues during your free trial that prevent
proper evaluation, contact support. We may extend your trial period at our discretion.

15.3 Fees. After the free trial, continued use requires a paid subscription. Prices and plan
terms are presented at the time you purchase. Merchant of record: https://polar.sh.

15.4 Auto-renewal. Subscriptions automatically renew until you cancel. You authorize us (and
our payment processor) to charge your payment method on a recurring basis until you cancel.

15.5 Cancellation. You may cancel future renewals through your account/billing portal or by
contacting support. Cancellation stops future charges but does not provide a refund for the
current billing period.

15.6 No refunds. Because we offer a free trial period that allows you to fully evaluate the
Software before purchasing, all payments are non-refundable except where required by applicable
law. If you have concerns about the Software, please use the free trial to evaluate it before
purchasing.

15.7 Taxes. Fees are exclusive of taxes unless stated otherwise. You are responsible for
applicable taxes.

15.8 Discontinuation. If we discontinue the paid Services, we will provide reasonable notice.
For Business/Enterprise subscribers with prepaid unused subscription time, we will provide an
appropriate pro-rated refund or credit for the unused prepaid portion.

16. SUSPENSION; TERMINATION

16.1 By you. You may stop using the Software at any time.

16.2 By us. We may suspend or terminate your access to the Services or license to the Software if:
(a) you breach these Terms;
(b) we must do so to comply with law; or
(c) your use poses a security, legal, or reputational risk to Ninagent or others.

16.3 Effect of termination.
(a) Individual Plan: Upon termination for breach, your perpetual license to previously-downloaded
binaries terminates. Upon voluntary cancellation or non-renewal, your perpetual license to
previously-downloaded binaries continues, but you may not download new versions.
(b) Business/Enterprise Plan: Upon termination or expiration for any reason, your license ends
immediately and you must cease using the Software and delete all copies (including source code
if applicable).
(c) Sections that by their nature should survive will survive, including Sections 9, 12-14, 17-23.

17. DISCLAIMER OF WARRANTIES

THE SOFTWARE IS PROVIDED "AS IS" AND "AS AVAILABLE", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.

IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS, OR OPERATORS BE LIABLE FOR ANY CLAIM,
DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE,
ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.

THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD
THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR,
OR CORRECTION.

WE DO NOT WARRANT THAT THE SOFTWARE WILL BE UNINTERRUPTED, ERROR-FREE, SECURE, SAFE,
OR FREE OF HARMFUL COMPONENTS, OR THAT DEFECTS WILL BE CORRECTED, OR THAT THE SOFTWARE
WILL NOT CAUSE DAMAGE TO YOUR SYSTEMS, DATA, OR NETWORKS.

18. LIMITATION OF LIABILITY

TO THE MAXIMUM EXTENT PERMITTED BY LAW:
(a) NO INDIRECT DAMAGES. NINAGENT WILL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR LOSS OF PROFITS,
REVENUE, DATA, GOODWILL, OR BUSINESS INTERRUPTION, ARISING OUT OF OR RELATED TO
THE SOFTWARE OR SERVICES, EVEN IF ADVISED OF THE POSSIBILITY.

(b) LIABILITY CAP. NINAGENT'S TOTAL LIABILITY FOR ALL CLAIMS ARISING OUT OF OR RELATED
TO THESE TERMS, THE SOFTWARE, OR THE SERVICES WILL NOT EXCEED THE GREATER OF:
(i) THE AMOUNT YOU PAID TO NINAGENT FOR THE SOFTWARE/SERVICES IN THE TWELVE (12)
MONTHS BEFORE THE EVENT GIVING RISE TO THE CLAIM; OR (ii) $100.

Some jurisdictions do not allow certain limitations, so some of the above may not apply to you.

19. INDEMNIFICATION

If you are using the Software on behalf of a business or organization, you agree to indemnify,
defend, and hold harmless Ninagent and its affiliates, officers, directors, employees, and agents
from and against claims, damages, liabilities, losses, and expenses (including reasonable attorneys'
fees) arising from: (a) your use of the Software or Services, (b) your Generated Output, (c) your
violation of these Terms, or (d) your violation of law or third-party rights.

20. DISPUTE RESOLUTION; ARBITRATION; CLASS ACTION WAIVER (U.S.)

20.1 Informal resolution. Before filing a claim, you agree to contact us at legal@ninagent.com and
provide a description of the dispute and the relief sought. We will attempt to resolve disputes
informally.

20.2 Agreement to arbitrate (U.S.). If you are in the United States (or if U.S. law otherwise applies),
and we cannot resolve the dispute within sixty (60) days, you and Ninagent agree that any dispute
arising out of or relating to these Terms, the Software, or Services will be resolved by binding,
individual arbitration administered by the American Arbitration Association ("AAA") under its
Consumer Arbitration Rules, unless you opt out as described below. The Federal Arbitration Act
governs this section.

20.3 Exceptions. Either party may bring:
(a) individual claims in small claims court (if eligible), or
(b) claims for injunctive or equitable relief to stop unauthorized use or infringement of
intellectual property.

20.4 Opt-out. You may opt out of arbitration within thirty (30) days of first accepting these Terms by
emailing legal@ninagent.com from the email associated with your account and stating clearly that you
wish to opt out of arbitration.

20.5 Class action waiver. YOU AND NINAGENT AGREE THAT EACH MAY BRING CLAIMS ONLY IN
AN INDIVIDUAL CAPACITY AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED
CLASS, COLLECTIVE, CONSOLIDATED, OR REPRESENTATIVE PROCEEDING.

20.6 Arbitration location and procedure. Arbitration may be conducted by videoconference. If an
in-person hearing is required, it will occur in a location determined under AAA rules, taking into
account your residence and ability to travel.

20.7 Severability. If any portion of this Section 20 is found unenforceable, the remainder will remain
in effect, except that if the class action waiver is found unenforceable, the arbitration agreement
will be null and void.

21. EU/UK CONSUMER RIGHTS

21.1 If you are a consumer in the European Union, United Kingdom, or European Economic Area:
(a) Nothing in these Terms limits your statutory rights under applicable consumer protection laws.
(b) You acknowledge that the Software is digital content and that by downloading or using the
Software during any free trial or after purchase, you expressly consent to immediate performance
and acknowledge that you lose your right of withdrawal once the download or access begins.
(c) Any mandatory consumer rights under EU/UK law that cannot be waived will apply notwithstanding
any contrary provision in these Terms.

22. SECURITY VULNERABILITY DISCLOSURE

If you discover a security vulnerability in the Software or Services, please report it responsibly
to security@ninagent.com. We appreciate security researchers who give us the opportunity to address
vulnerabilities before public disclosure.

23. COPYRIGHT / IP COMPLAINTS

If you believe the Software infringes your intellectual property, contact legal@ninagent.com with
sufficient information to evaluate your claim.

24. TRADE CONTROLS; SANCTIONS

You agree to comply with applicable export control and sanctions laws. You may not use the Software or
Services if you are located in, or a national or resident of, a country subject to comprehensive
sanctions, or if you are on a prohibited or restricted party list, or if your use would violate
applicable trade controls.

25. MISCELLANEOUS

25.1 Assignment. You may not assign these Terms without our prior written consent. We may assign these
Terms to an affiliate or successor in interest.

25.2 Entire agreement. These Terms and the Privacy Policy are the entire agreement between you and
Ninagent regarding the Software and Services.

25.3 Severability. If a provision is held unenforceable, the remaining provisions will remain in effect.

25.4 Contact. Support: hi@ninagent.com | Privacy: privacy@ninagent.com | Legal: legal@ninagent.com
Security: security@ninagent.com

25.5 Governing law and venue. These Terms are governed by the laws of the State of Hawaii, USA,
without regard to conflict of law principles. For disputes not subject to arbitration, the
exclusive venue and jurisdiction are state or federal courts located in Hawaii County, Hawaii, USA.

## Privacy Policy

Version: 1.0
Last Updated: December 29, 2025

NINAGENT PRIVACY POLICY
Version: 1.0
Last Updated: December 29, 2025

This Privacy Policy explains how Ninagent ("we," "us," "our") collects, uses, and discloses
personal information when you use the Ninagent software (the "Software") and our limited
online license validation and account management services (the "Services").

1. QUICK SUMMARY (NON-BINDING)
- We collect your email to manage your account/license.
- We receive minimal license validation data (e.g., IP address, timestamp, software version, OS) for
free trials and Business and Enterprise plans.
- Individual Plan binaries do not communicate with Ninagent servers after download.
- We do NOT collect or store your source code, prompts, or AI responses through our servers.
- Your AI traffic goes directly from your computer to the third-party provider you choose.
This summary does not replace the full policy below.

2. WHO WE ARE
Controller. Ninagent is a sole proprietorship owned and operated by
Nathan Todd-Stone. Ninagent is the controller for personal information processed under this Policy.

Contact. Email: privacy@ninagent.com | hi@ninagent.com
Website: https://ninagent.com

3. INFORMATION WE COLLECT

3.1 Information you provide directly.
(a) Account and license information:
- Email address
- License/purchase metadata needed to provision and manage your license (e.g., plan type)

(b) Support communications:
- If you email us or contact support, we will collect the information you provide in the message
and any attachments you send.

IMPORTANT: If you paste logs, configuration, prompts, or code into a support ticket/email, we
will receive that information because you provided it to us.

3.2 Information collected automatically (license validation and security logs).
For free trials and Business and Enterprise plans, when the Software validates your license
(approximately every 7 days), our servers may receive:
- License identifier (not the full License Key)
- Timestamp of request
- IP address
- Software version and OS/platform
- Standard server log metadata (e.g., request headers, response codes) used for reliability and security

We do NOT collect device fingerprints, hardware identifiers, or usage telemetry beyond license validation.
Individual Plan binaries do not validate and do not communicate with Ninagent servers after download.

3.3 Website data (if you visit our site).
If you visit our website, we may collect:
- IP address (for security and basic analytics)

We do NOT use Google Analytics, advertising pixels, session replay tools, or third-party tracking.

4. INFORMATION WE DO NOT COLLECT (BY DEFAULT)
We designed Ninagent so that the following do not flow through Ninagent servers:
- Your Third-Party AI Provider API keys
- Your prompts sent to Third-Party AI Providers
- AI provider responses / Generated Output
- Your local source code, repositories, or project files
- Your filesystem contents
- Command usage metrics or telemetry
- Crash reports (unless you explicitly send them to support)

Your AI requests are sent directly from your device to the Third-Party AI Provider you choose.

5. HOW WE USE INFORMATION
We use personal information for the following purposes:
- Provide and administer the Services (account creation, license provisioning, license validation)
- Customer support and communications (service messages, responding to requests)
- Security and fraud prevention (e.g., abuse detection, license key misuse)
- Reliability and debugging of the Validation Service (e.g., error rates)
- Legal compliance and enforcement of our Terms

We do NOT use your information for advertising or marketing without your explicit opt-in consent.

6. EMAIL COMMUNICATIONS
We send emails only for:
- Transactional purposes (receipts, license information, account notifications)
- Support responses
- Important service announcements (e.g., security issues, Terms updates)

We do NOT send marketing emails unless you explicitly opt in. You can manage email preferences
in your account settings or by contacting support.

7. LEGAL BASES (EEA/UK/SWITZERLAND)
If you are in the EEA/UK/Switzerland, we process personal information under these bases:
- Contract: to provide the Services you request (account and license management)
- Legitimate interests: to secure and improve the Validation Service, prevent fraud/abuse, and
protect our business (balanced against your rights)
- Legal obligation: to comply with applicable laws

We do not rely on consent as a legal basis for core service functionality.

8. HOW WE SHARE INFORMATION
We do not sell your personal information.

We may share information with:
(a) Service providers / subprocessors that help us operate:
- Hosting/infrastructure providers
- Email delivery services (transactional only)
- Payment processors (we do not store full payment card numbers)

A list of subprocessors is available upon request by emailing privacy@ninagent.com.

(b) Legal and safety disclosures:
- To comply with law, legal process, or governmental requests
- To enforce our Terms, protect rights, safety, and security

(c) Business transfers:
- In connection with a merger, acquisition, financing, bankruptcy, or sale of assets (subject to
standard confidentiality protections)

9. WEBSITE DATA
If you visit our website, we may collect IP address and standard server log data for security and basic
analytics.

10. DATA RETENTION
We retain personal information only as long as necessary for the purposes described:
- Account/license data: for as long as your account is active, and thereafter as needed for legal,
accounting, or dispute resolution purposes
- License validation logs: up to 90 days, unless a longer period is necessary for security
investigations, fraud prevention, or legal compliance
- Support communications: retained as needed to address your request and for recordkeeping

11. DATA SECURITY
We use reasonable administrative, technical, and organizational safeguards to protect personal
information, including encryption in transit and access controls. No system is 100% secure.

To report security vulnerabilities, email security@ninagent.com.

12. YOUR RIGHTS AND CHOICES
Depending on where you live, you may have rights to:
- Access your personal information
- Correct inaccurate information
- Delete your personal information
- Receive a copy / data portability
- Object to or restrict certain processing
- Withdraw consent (where processing is based on consent)

To exercise rights, email privacy@ninagent.com. We may need to verify your identity before
fulfilling requests.

13. INTERNATIONAL TRANSFERS
We may process and store information in the United States and other countries. Where required
for cross-border transfers (e.g., from the EEA/UK), we rely on Standard Contractual Clauses (SCCs)
or other valid transfer mechanisms approved by relevant authorities.

14. CALIFORNIA PRIVACY DISCLOSURES (CCPA/CPRA)
14.1 Categories collected (past 12 months):
- Identifiers: email address, IP address
- Internet/network information: license validation logs, device/OS information
- Customer records: purchase/license metadata (as applicable)

14.2 Purposes:
- Provide Services and support
- Security and fraud prevention
- Compliance and enforcement

14.3 "Sale" or "sharing":
We do not sell personal information. We do not share personal information for cross-context
behavioral advertising.

14.4 Your rights:
California residents may have rights to know, delete, correct, and obtain a copy of personal
information, and to not be discriminated against for exercising these rights. Submit requests to
privacy@ninagent.com.

15. CHILDREN
The Services are not directed to children under 18, and we do not knowingly collect personal
information from children under 18.

16. CHANGES TO THIS POLICY
We may update this Policy from time to time. We will post the updated Policy with a new "Last Updated"
date. If changes are material, we will provide additional notice as required by law.

17. CONTACT
Email: privacy@ninagent.com
Support: hi@ninagent.com
Security: security@ninagent.com
Operated by: Ninagent (Nathan Todd-Stone) | hi@ninagent.com | https://ninagent.com

