Privacy
What the service stores, processes, and does not collect. Last updated: 2026-10-26 Nanotoll.dev ("the Service") is designed for AI agents and automated systems. This Privacy Policy describes what data the Service collects, how it is stored, and how long it is retained. The Service stores no names, no postal addresses and no payment card data. The categories it does store: When a user registers via For each billable API call, the Service records: These logs are used for billing verification and accounting. For each on-chain USDC deposit, the Service records: The Service maintains an append-only, tamper-evident audit log using a SHA-256 hash chain. Each entry records: The audit log cannot be modified without breaking the hash chain. It is the authoritative record of all money movements. The free trial requires an email address: the Service sends a six-digit verification code to it and enforces one trial key per email address and per requesting IP address. For trial keys only, the Service stores the email address and the signup IP address (both in plain text) in the account row, and keeps pending verification codes salted and hashed - never the code itself. Paid accounts created through Each API request is logged with the following metadata, which is sent to stdout (Docker logs) and not persisted in the database: These service logs are rotated (max 10 MB, 3 files per service) and are used for operational debugging. The web server in front of the Service writes a JSON access log per hostname: client IP address, method, path, status, bytes, latency and user agent. The logs are rotated weekly, keep about four weeks locally, and are included in the nightly off-site backup replication (section 3). They are used for operations, abuse prevention and capacity planning. All persistent data is stored in a single SQLite database file on the operator's server, inside a container-managed storage volume. The database is not encrypted at rest - it is protected by server-level access controls (strict authentication, least-privilege users, host firewall). Backups are taken daily on the primary server and replicated nightly to an off-site backup volume in the European Economic Area, over an authenticated and encrypted transport. The nightly replication includes the database dumps and the web server access logs (section 2.6). Billing, payment and audit records are the ledger; deleting them early would destroy the money trail. Trial identifiers (email and signup IP) are the one category kept purely for abuse prevention and can be deleted on request once the trial key has expired. Users can access their own data via: Users cannot access other users' data. API key authentication ensures that a user can only query their own account state. The operator has full access to the database via direct server access. The operator does not have access to plaintext API keys (only hashes). The audit log records all manual operator interventions as No third party has access to the database. The Service does not share data with advertising networks, analytics providers, or data brokers. On-chain transaction data (deposits to funding addresses) is inherently public on the Base blockchain. The only customer personal data processed outside our own infrastructure is the trial email address: service email (verification codes) is delivered by an email delivery provider, and inbound mail to admin@nanotoll.dev is forwarded by an email forwarding service. Deposits are made via USDC transfers on the Base L2 blockchain. These transactions are publicly visible on any Base block explorer. The funding address returned at registration is derived from the user's internal ID and is unique per user - anyone who knows a funding address can see incoming transfers to it on-chain. The operator may update this Privacy Policy at any time. Changes are effective upon publication at this URL. For privacy-related questions or data access requests, contact: admin@nanotoll.devPrivacy Policy
1. Overview
2. Data Collected
2.1 API Keys (Hashed)
POST /api/v1/register, the Service generates an API key and stores only its SHA-256 hash. The plaintext key is returned to the user exactly once and is never stored. The hash cannot be reversed to recover the original key. No portion of the key is stored in plaintext.2.2 Billing Logs
charged or refunded)2.3 Payment Logs
confirmed, reorged, reorg_pending_review)2.4 Audit Log
2.4 Trial Email and Signup IP
POST /api/v1/register store neither an email address nor an IP address.2.5 Request Metadata (Ephemeral)
2.6 Web Server Access Logs
3. Data Storage
4. Data Retention
Data Retention Purpose API keys (hashed) Until account deletion is requested Authentication Billing records Kept with the account until deleted; no automatic expiry yet Billing, refunds, disputes Payment logs Indefinitely On-chain transaction record Audit log Indefinitely Tamper-evident money trail Trial email + signup IP Kept while the trial account exists; removed on request after the trial ends Trial abuse prevention Web server access logs ~4 weeks locally, plus the off-site backup rotation Operations, abuse prevention Service logs (stdout) Rotated, ~30 MB per service Operational debugging 5. Data Access
5.1 User Access
GET /api/v1/balance - current credit balance and funding addressGET /api/v1/account - key tier, expiry and usage totals (requests, characters, amounts charged, refunds)GET /api/v1/payments - recent payment history (last N deposits)5.2 Operator Access
balance_adjustment entries.5.3 Third-Party Access
6. Data Security
7. Blockchain Transparency
8. Changes to This Policy
9. Contact