Legal / privacy
Privacy Policy
Effective 15 July 2026 · Last updated 22 July 2026
- Your desktop vault, local database, credentials and local logs stay on your device by default.
- Account, encrypted sync, cloud freshness, billing and AI features use the online services described below.
- AI features can send journal text, trading context, receipts or reports to an AI provider. They are not part of the encrypted sync channel.
- We do not sell personal information, run ads or use cross-site advertising trackers.
1. Scope and who we are
This policy covers the TradeCowboy desktop and mobile applications, TradeCowboy accounts and hosted features, the tradecowboy.com website and email list, and support communications (together, the Services).
TradeCowboy is operated by Diego Fernandez, an Australian sole trader (ABN 52 517 363 809) (we, us or our). Our business address is 77 Parkwood Bvd, Parkwood QLD 4214, Australia. Contact us at [email protected].
“Personal information” in this policy includes information that identifies you or can reasonably be linked to you. A wallet address, trading account identifier or device identifier may be personal information when linked to your account.
2. What is handled, and where
| Feature | Information handled | Where it goes |
|---|---|---|
| Core app | Journal notes, trade and position records, account snapshots, expenses, receipts and attachments, financial-year evidence, preferences, locally calculated statistics and a searchable SQLite index. | Your selected vault and the app-data folders on your device. We cannot access this local data unless you deliberately send it to us or use an online feature below. |
| TradeCowboy account | Email address, account UUID, passwordless sign-in events and tokens, beta-cohort status, feature entitlements and account timestamps. | Supabase Auth and database services. Authentication tokens are stored in the device keychain or secure storage. |
| Exchange and broker connections | Venue, account name and identifiers, public wallet addresses, sync settings and imported balances, positions, fills, fees and transactions. Keyed connections also use the API key, secret or token you provide. | Connection details and imported records are local by default. Release builds store credentials in the operating-system credential store. Requests go to the exchange, broker or aggregator you selected. Secrets used only to sign a request normally remain on-device; an API key or access token is sent where the provider's protocol requires it. |
| SnapTrade | SnapTrade developer client ID and consumer key, user identifier and delegated secret, linked brokerage metadata, account balances, holdings and activity. | SnapTrade and the brokerage you connect. If you separately enable Cloud freshness, the four SnapTrade API credentials are also sent to our poller as described below. |
| Optional phone sync | An encrypted mirror of app read-model data, encrypted journal content, encrypted mobile captures, Cowboy chat transcripts and Cowboy's learned trader profile. Storage metadata includes your account UUID, generic object paths, object sizes and timestamps. | A private Supabase Storage bucket. Content is encrypted on-device with a key derived from the sync password you choose; we do not receive that password. The bucket also stores non-secret password-derivation settings and an encrypted verifier, so another signed-in device can check the password locally. Object metadata is not encrypted. Losing the password may make the mirror unrecoverable. |
| Optional Cloud freshness | Your account UUID; connection and account IDs; venue and configuration; public Hyperliquid or dYdX address; a feed-encryption key; and, for SnapTrade, its developer client ID and consumer key plus delegated user ID and secret. The service fetches current account information on its background schedule and when the paired phone opens, resumes, refreshes in the foreground or is manually refreshed, then encrypts a phone feed. | Our poller hosted on Fly.io and encrypted output in Supabase Storage. Poller secrets are encrypted at rest, but the poller can decrypt the feed key and SnapTrade API credentials to perform the requested read-only polling. This feature is therefore not zero-knowledge or end-to-end encrypted from the poller. |
| AI and semantic search | Prompts, conversation history, selected journal excerpts, trader profile, trade/account context, tool results, receipt images, PDFs, broker statements, note text and search queries, depending on the feature you use. Charts attached in Cowboy chat are journal evidence only and are not supplied to an AI provider. | DeepSeek, Anthropic or OpenAI, either directly under a key you supply or through our hosted AI proxy where offered. See section 4. |
| Subscriptions | Your TradeCowboy account UUID, product and entitlement, purchase/renewal/expiry status, transaction environment and related subscription events. | Apple, RevenueCat and our Supabase entitlement service. Apple handles payment credentials; we do not receive your full card number. |
| Diagnostics | Local frontend/backend events, errors and crash details. If you choose to send beta feedback in the app, the report contains your description, account UUID, optional account email, app version, build, release channel, desktop platform, reference code, broad sync state and up to five fixed error codes. | Raw logs remain local and are never automatically attached. A report is sent only when you press “Send report” and is stored privately in Supabase. The automatic report has no journal content, trading data, credentials, file paths, screenshots or raw errors. |
| Website and email list | Email address, optional trading segment, referral/source tag and signup time. Cloudflare Web Analytics processes cookieless page-performance and aggregate visit metrics. Google receives network information, including IP address, when its hosted fonts load. | Cloudflare Pages, D1 and Web Analytics, and Google Fonts. The website does not collect your trading records. |
| Support | Your email, message, attachments and any logs or account details you choose to provide. | Our email and support systems and any provider used to deliver them. |
3. How and why we use information
We collect information directly from you, from your device when an online feature is enabled, from providers you connect, and from Apple or RevenueCat for subscription events. We use it to:
- provide, secure and troubleshoot the Services;
- authenticate accounts, enforce per-user access and prevent abuse;
- sync data and deliver cloud freshness only when those features are enabled;
- retrieve information from the exchanges, brokers and market-data providers you choose;
- perform AI and semantic-search operations you enable or request;
- administer beta access, subscriptions, renewals, restores, refunds and entitlement status;
- answer support requests and investigate security or reliability issues;
- send TradeCowboy news, product information and occasional promotional offers to email-list members, with an unsubscribe option; and
- comply with law, enforce our Terms, and protect users, the public and the Services.
If information is necessary for account authentication, billing or an online feature and you do not provide it, that feature may not work. The local desktop journal can operate without optional sync and hosted AI configuration.
4. AI features are a separate data flow
Encrypted phone sync does not mean AI inputs stay encrypted from AI providers. When you use an AI feature, TradeCowboy must send readable content needed for that request:
- Cowboy chat and related analysis: DeepSeek may receive your prompt, recent conversation, trader profile, selected journal excerpts, trade/account context, live-market context and tool results. Cowboy chat transcripts and its learned trader profile are also stored in the encrypted phone-sync mirror so the same signed-in, paired account can retain its history across supported devices.
- Journal chart attachments: a chart attached in Cowboy chat is kept as evidence for the journal entry you ask Cowboy to create or update. The chart bytes are not placed in the model prompt, conversation history, learned profile or AI-provider request. Cowboy is told only that an unseen user-supplied chart exists so the app can attach it after the journal write succeeds.
- Receipt and statement extraction and Claude-powered review: Anthropic may receive the selected image or PDF, extracted text, prompts and relevant context.
- Generated note titles: DeepSeek may receive a bounded excerpt of the note text so it can propose a short title.
- Semantic journal search: note bodies are sent to OpenAI to create embeddings when they are saved or backfilled, and search text is sent to create a query embedding. Consumer builds send these requests through our hosted AI proxy; a bring-your-own-key build may send them directly under the key you supply. The resulting vectors are stored locally on the relevant device.
Consumer builds may send hosted AI requests through our Cloudflare Worker. The proxy authenticates your account and records account UUID, device ID, IP address, provider, operation, time, response status, daily request counts and token-usage totals for access control, security and billing. The proxy does not intentionally write prompt bodies or model responses to its application database, but Cloudflare and the AI provider process the request in transit.
Self-hosted or bring-your-own-key builds may send the same content directly to the provider, in which case we do not receive the request body. Your separate account and the provider's terms apply. Provider retention varies: for example, Anthropic states that standard API inputs and outputs are normally deleted within 30 days, subject to its stated exceptions. Do not submit information you do not want processed by the relevant provider.
6. Security
Measures used by the Services include TLS in transit, private per-user cloud storage rules, AES-256-GCM encryption for paired sync content, operating-system credential storage for release-build secrets and sessions, and encryption at rest for poller-held feed keys and SnapTrade API credentials.
No system is completely secure. You are responsible for protecting your device, email account, sync password and provider credentials, using read-only exchange permissions, and keeping independent exports and backups. A TradeCowboy sync mirror is not a substitute for backing up your vault or retaining source statements.
7. Your choices, access, correction and deletion
- Local data: you can inspect, export, edit and delete your Markdown files and attachments directly. Removing the app or deleting your TradeCowboy account does not delete a separately stored vault or every operating-system backup.
- Sync: you can disable phone sync in Settings. You can also request removal of remote sync objects by deleting your TradeCowboy account.
- Cloud freshness: turn it off before deleting your account so the separate poller enrolment and feed are removed. If you cannot do that, contact us and ask us to confirm removal.
- Connections: delete credentials and connections in the app and revoke access at the exchange, broker or SnapTrade portal. Removing a TradeCowboy connection does not close the provider account.
- AI: do not configure a bring-your-own key, disable hosted AI, or do not invoke an AI feature. Deleting a local conversation does not retroactively delete a provider's operational copy; contact us about hosted requests and the provider about direct requests.
- Marketing: use the unsubscribe link in an email or contact us.
Account deletion: Settings → Account → Delete account & cloud data initiates deletion of your TradeCowboy account and Supabase-hosted synced data. It does not cancel an Apple subscription, delete your local vault/logs, close linked provider accounts, or erase records Apple and other providers control or must retain. Manage Apple billing before or after deletion through Apple Subscriptions.
You may ask us to access, correct or delete personal information we control by emailing [email protected]. We may need to verify your identity. Some requests can be limited where retention is required by law, needed for security or disputes, or concerns information we do not control. Local-only data is accessible only to you.
8. Retention
- Local vault data, app databases, credentials and logs remain until you delete them, clear the relevant app data, or the operating system removes them.
- Account and encrypted sync data are kept while the account is active and until deletion is completed, subject to temporary backups, security records and legal requirements.
- Email-list information is kept until you unsubscribe, ask us to delete it, or it is no longer needed for the TradeCowboy communications for which it was collected.
- Hosted AI request metadata, usage totals and security logs are kept only as long as reasonably needed for access control, billing, abuse prevention, incident response and legal obligations. AI providers apply their own retention schedules.
- Subscription and transaction information may be retained by Apple, RevenueCat and us for billing, tax, fraud prevention and dispute purposes after an account is deleted.
- Support correspondence and in-app beta reports are kept as long as reasonably needed to investigate the feedback, resolve the request and maintain necessary business or legal records.
Deletion from active systems may not immediately remove information from encrypted backups or provider systems. Backup copies are isolated from ordinary use and expire or are overwritten under the relevant provider's schedule.
9. Children
The Services are intended for people aged 18 or older. We do not knowingly create accounts for or collect personal information from children. If you believe a child has provided personal information, contact us so we can investigate and delete it where appropriate.
10. Changes to this policy
We will update this page when our practices change and revise the date above. If a change materially affects how account data is used, we will give reasonable notice through the app, website or account email before it takes effect where practicable.
11. Contact and privacy complaints
Email [email protected] with “Privacy request” or “Privacy complaint” in the subject. Describe what happened and the outcome you want. We aim to acknowledge a complaint promptly and respond within 30 days.
You may also write to: Diego Fernandez, 77 Parkwood Bvd, Parkwood QLD 4214, Australia. ABN 52 517 363 809.
We comply with the privacy laws that apply to us. Australian privacy law contains exemptions for many small businesses; where the Privacy Act 1988 (Cth) applies to a complaint and you are not satisfied after giving us a reasonable opportunity to respond, you may contact the Office of the Australian Information Commissioner. Other local privacy rights and regulators may also apply depending on where you live.