Privacy policy
1. Who we are
CatchTank (“CatchTank”, “we”, “us”) is an iPhone app for logging the fish you catch and watching them swim in your own virtual aquarium. It is run by Oliver Edwards, trading as CatchTank, based in the United Kingdom. Under UK data protection law (the UK GDPR and the Data Protection Act 2018), Oliver Edwards, trading as CatchTank is the controller of your personal data. ICO registration number: [ICO registration number]. If the business is later run through a limited company, this policy will transfer to it and we will tell you.
Contact: hello@catch-tank.com. We aim to reply within 7 days and will always reply within one month.
2. The short version
- You can use CatchTank without an account. Your catches stay on your phone. Nothing is sent to us until you sign in.
- If you create an account, your catches, photos and profile are stored on our servers so you can back them up and use the social features.
- Your exact fishing spots are private by default. Other people see an approximate area of about 1 km at most, unless you choose to share exact pins. You can hide any catch’s location completely.
- If you’re under 18, your catch locations are never shown to anyone else, adults aren’t shown your profile in suggestions, and adults can only message you if you follow them.
- We never sell your data, we don’t show ads and we don’t track you across other apps or websites.
- AI features send only the photo or text being analysed to our AI provider, Anthropic, and only after you agree. Voice logging sends text, never audio.
- Pro subscriptions are paid through Apple, and Shop orders through Stripe. We never see your card details.
- You can delete your account in the app at any time. You must be 13 or older to create one.
3. What we collect and why
3.1 Information you give us
| Data | When | Why | Lawful basis |
|---|---|---|---|
| Email address | When you sign in with a one-time code | To create and secure your account, send sign-in codes and contact you about your account | Contract |
| Apple or Google sign-in identifier (and the email that provider shares, which may be an Apple private relay address) | If you choose Sign in with Apple or Google | To sign you in | Contract |
| Age band (13–17 or 18+) and the date you accepted the terms | At sign-up | To apply under-18 protections and to record that you agreed to the terms | Legal obligation (Online Safety Act, Children’s Code); contract |
| Username, display name, avatar (a fish species) | When you set up your profile | To identify you to other anglers and run your tank page | Contract |
| Catch records: species, length, weight (and whether estimated), date and time, venue or fishery, spot name, bait, method, equipment, kept or released, notes, recipe, favourite | When you log a catch | To provide your logbook, aquarium, stats, badges and Year in the Tank recap | Contract |
| Catch location (map pin latitude and longitude) and your location-sharing choice | If you add a location to a catch | To show it on your own map, and on the community map at the level you choose (see section 4) | Contract; consent for the iOS location permission |
| Conditions snapshot: weather, pressure, moon, river level and (Pro) tide at the time of the catch | When a catch with a location and time is saved | To show the conditions you caught in and work out your stats | Contract |
| Fishing sessions: start and end time and the catches in that session | When you start a session, or when catches are grouped automatically | To group a day’s catches | Contract |
| Photos and short videos (up to 30 seconds) of your catch and dish | When you attach them | To show them in your logbook and, if your tank is public, to others | Contract |
| Comments, likes, follows | When you use social features | To provide social features | Contract |
| Direct messages | When you message another angler | To deliver them | Contract |
| Challenge and league entries, including the fair-play check report on each entry | When you join a challenge or league or enter a catch | To run challenges and leaderboards fairly | Contract; legitimate interests (fair competition) |
| Fishery suggestions and corrections | If you suggest a venue or a price change | To keep the fishery directory accurate | Legitimate interests |
| Reports and blocks | When you report or block someone | To keep CatchTank safe | Legitimate interests (safety); legal obligation (Online Safety Act) |
| Pro subscription status: plan, start and expiry dates, trial status, renewal and cancellation events | When you subscribe through Apple | To unlock Pro and send trial reminders. Apple takes payment; we never see your card | Contract; legal obligation (trial reminders) |
| Shop orders: name, delivery address, email, phone number, products ordered and a copy of the catch or tank data and photo being printed | When you order from the Shop | To take payment, print and deliver your order, handle problems and keep tax records | Contract; legal obligation (tax records) |
| Messages to support | When you email us | To help you | Legitimate interests |
3.2 Information collected automatically
| Data | Why | Lawful basis |
|---|---|---|
| Push notification token, only if you allow notifications | To send notifications about likes, comments, follows, messages, challenges, orders and your trial ending | Consent (iOS permission). Turn it off any time in iOS Settings |
| Device location, only while you use the app and only if you allow it | To centre the map, suggest a nearby fishery and pre-fill a catch pin. We store a location only when you save it on a catch | Consent (iOS permission) |
| Microphone and speech recognition, only when you tap to log by voice | To turn what you say into text (see section 5). We never receive audio | Consent (iOS permission) |
| Server logs: IP address, time, endpoint, error messages | To run, secure and debug the service and prevent abuse (for example rate limits) | Legitimate interests |
| Crash and error reports: device model, iOS and app version, stack trace. We do not attach your account ID, name, email or location to them; the crash service may add a random identifier for the app installation. Only sent if crash reporting is switched on for the release | To find and fix bugs | Legitimate interests |
| AI usage counts (how many AI requests you made this month) | To apply free-tier limits | Contract |
| Read status of messages and notifications | To show unread counts | Contract |
We don’t collect your contacts, health data or advertising identifier (IDFA), and we don’t use advertising or tracking SDKs.
3.3 Information we work out
- Stats, badges and Year in the Tank are calculated from your own catches.
- Suggested anglers (Discover) are based on things like mutual follows, species and activity. Under-18 accounts are never suggested to adults.
- AI results (species suggestions, size estimates, fair-play checks) are described in section 5. AI never makes a final decision about you on its own.
4. Location and the map
Where you fish matters to anglers, so we treat it carefully. Every catch with a location has one of three sharing levels. You set a default in You → Settings (“Who can see where I fish”), and you can change it for any single catch.
| Setting | What other people see |
|---|---|
| Approximate (the default) | An area of roughly 1 km, never a pin. The coordinates are rounded on our server before they leave it, so the exact spot can’t be worked out from the app or the API. |
| Exact (only if you choose it) | Your exact pin, shown to CatchTank Pro members on the community map, and only while your tank is public. |
| Hidden | No location at all. We also remove the fishery name and the nearby river gauge and tide station names from that catch, because they could give the spot away. |
- You always see your own exact pins.
- Private tanks: catches appear only to your followers, and only ever as approximate areas, whatever your setting.
- Community heatmap: shows how many catches fall in grid squares no smaller than about 1 km. At close zoom, a square only shows if it holds at least 3 catches from at least 2 different anglers, so one person’s spot can’t be singled out.
- Under-18s: locations of catches by under-18 accounts are always hidden from other people and are never included in the heatmap or community pins, whatever setting is chosen.
- Photo and video metadata: photos can contain the GPS position where they were taken. We remove all photo metadata (including GPS) on our server before storing the photo. For videos we remove location and metadata blocks on a best-effort basis. We read the capture time first, to pre-fill the catch date.
- Device location is used only while the app is open and only if you allow it. We don’t track your location in the background.
- We never sell or share location data for advertising.
5. AI features, including voice logging
CatchTank uses Anthropic, PBC (the company behind Claude) for the AI features below. The first time you use one, the app asks your permission and tells you what will be sent. AI features are optional and need you to be signed in.
- Species ID and size estimate. We send only the photo you choose, after resizing it and removing its metadata on our server. We don’t send your name, email or location.
- Voice logging. When you speak a catch, your iPhone’s speech recognition turns it into text. Depending on your device and settings, Apple may process the audio to do this, under Apple’s own privacy policy. We never receive audio. Only the text transcript (up to 1,000 characters) is sent to us and on to Anthropic, to pick out the species, weight, bait and so on. You check the result before saving.
- Daily fishing briefing (Pro). The AI briefing is written from a summary of the forecast for your spot (weather, bite score, best times) and a summary of your own catch history. It contains no coordinates, venue names, usernames, notes or photos.
- Challenge fair-play checks (“Verify”). When you enter a catch into a challenge or league, we check it automatically: the photo is sent to Anthropic to check that the species and size look plausible, and we compare a fingerprint of the photo with other entries to spot duplicates. We also check the capture time is inside the challenge window. A check can flag an entry for review, but a human organiser always makes the final decision, and you can ask them, or us, to look again.
Under its commercial terms, Anthropic doesn’t use our API data to train its models. It deletes inputs and outputs within a limited period (currently up to 30 days), except where longer retention is needed for safety or legal reasons. AI results can be wrong, so they are always marked as estimates and you can change them.
6. Weather, tides and map data
- Weather and conditions. When you save a catch with a location, our server looks up the weather (the forecast comes from Apple WeatherKit; Open-Meteo is our fallback provider and supplies the weather recorded with a catch), river level (Environment Agency, England) and, for Pro, tides (UK Hydrographic Office ADMIRALTY API). Before any lookup, our server rounds the coordinates to 2 decimal places (about 1 km), and only that rounded location and the time are sent to Apple WeatherKit (see Apple’s privacy policy), Open-Meteo and the Environment Agency (tide stations are matched on our own server, so ADMIRALTY receives only a station ID). We never send your name, email or account ID. Moon phase and sunrise are calculated on our own server.
- Map tiles. To draw the map, your phone downloads map images directly from our map tile provider, OpenStreetMap Foundation (its servers are in the UK and Europe, and it receives your IP address and the area of the map you view). Like any website, the provider sees your IP address and which map area is being loaded. Offline areas you save are stored only on your phone.
- Fisheries. The fishery directory is built from OpenStreetMap data (Open Database Licence) plus corrections from anglers and fisheries. Searching it doesn’t send your location to anyone but us.
7. Public tanks, challenges and social features
- Your username, display name and avatar can be seen by other users. While your tank is public, your tank and catches (with locations as described in section 4) can be seen by anyone with the link, including people without an account.
- Private tank: You → Settings → turn off “Public tank”. Your catches then show only to your followers. Your username can still be found by other signed-in users who search for it, so people can follow you; they still can’t see your catches unless they follow you.
- Comments and likes are visible to anyone who can see that catch.
- Challenges and leagues: your username, entered catches and placing are shown on that challenge’s leaderboard to its members. Adults see under-18 entrants as an anonymous angler.
- Direct messages are visible only to you and the other person. They are encrypted in transit and at rest by our database provider, but they aren’t end-to-end encrypted. We read messages only when investigating a report, enforcing our terms or meeting a legal requirement.
- Blocking someone stops them messaging you, following you, commenting on your catches or seeing your tank, and hides their content from you.
8. CatchTank Pro subscriptions
- CatchTank Pro is sold through Apple In-App Purchase. Apple takes payment and handles refunds. We receive confirmation of your plan, its dates, whether you’re in a free trial, and renewal, cancellation and refund events, through our subscription service, RevenueCat. We link these to your account using a random ID, not your email.
- We use this to unlock Pro features and to remind you before a free trial ends (about 3 days before and again about 1 day before, by notification and, if your email is verified, by email), as UK consumer law requires (Digital Markets, Competition and Consumers Act 2024). See the terms for how renewal and cancellation work.
- If you restore purchases while signed in to a different CatchTank account, Pro moves to that account.
9. Shop orders
- Shop products (prints, posters, cards and so on) are physical goods. You pay on a Stripe checkout page; card details go straight to Stripe and we never see them. Stripe also uses your details to prevent fraud, under its own privacy policy, as an independent controller for that purpose.
- To make and post your order we share your name, delivery address and the email address and phone number you give at checkout (for courier updates) and the print file (your chosen photo with the catch or tank details on it) with our print partner Prodigi, which may use partner labs and couriers to deliver it.
- Each order keeps a copy of the catch or tank data at the moment you ordered, so the print matches what you paid for even if you later edit the catch.
- Retention: see section 13. In short, we keep order records for 6 years for tax and then anonymise them. If you delete your account, your orders are unlinked from you straight away and your name, email and delivery address are removed from them, but the anonymised order records (products, amounts, dates) are kept for that period, used only for tax, accounting and handling returns.
10. Under-18s and children
CatchTank is not for children under 13, and you must be 13 or over to create an account. At sign-up we ask whether you are 13–17 or 18 or over. If you tell us you are under 13, the app blocks that device from creating an account and deletes any account it had started. If we learn in any other way that someone under 13 has an account, we will delete it. If you’re a parent or carer and think your child has signed up, contact hello@catch-tank.com.
For users aged 13 to 17 we follow the ICO’s Age Appropriate Design Code. Under-18 accounts get these protections automatically, and they can’t be turned off:
- catch locations are never shown to anyone else and are left out of the heatmap and community pins;
- they are not suggested to adults in Discover or suggested friends;
- an adult can only message an under-18 who already follows them;
- on challenge leaderboards, adults see them as an anonymous angler;
- their tank is always private (shown only to followers, and the “Public tank” switch is locked off).
11. Who we share data with
We don’t sell personal data. We share it only with service providers (“processors”) who help run CatchTank, under contracts that require them to protect it and use it only on our instructions:
| Provider | What they do for us | Data involved | Where |
|---|---|---|---|
| Resend, Inc. | Sends sign-in code emails and Pro trial-end reminder emails. (Sign-in itself runs on our own servers using the open-source Better Auth software.) | Email address, the code or reminder text | USA |
| Apple Inc. | Sign in with Apple, push notifications (APNs), App Store purchases, iOS speech recognition | Sign-in identifier, push token and notification text, purchase records, voice audio if your device sends it to Apple for recognition | Global |
| Google LLC | Sign in with Google | Google account identifier and email | USA |
| Railway Corp. | Hosts our API servers | All data passing through the API; server logs | Europe (Amsterdam) |
| Neon (Databricks, Inc.) | Hosts our database | Account, catch, social, message, subscription and order data | London (AWS eu-west-2) |
| Cloudflare, Inc. | Stores photos and videos (R2); hosts this website | Photos and videos; website request logs | Global network |
| Anthropic, PBC | AI species ID, size estimates, voice-log parsing, challenge fair-play checks and the Pro fishing briefing | The photo, the text transcript or the forecast summary being analysed (see section 5) | USA |
| Functional Software, Inc. (Sentry) | Crash and error reporting | Device and app info, error details and a random installation identifier. No account ID, name, email or location | EU (Germany) |
| Apple Inc. (WeatherKit) | Weather data for the forecast, shown as “Apple Weather”. See Apple’s privacy policy | Coordinates rounded to 2 decimal places (about 1 km) and the time. No name, email or account ID | USA / Apple’s global network |
| Open-Meteo.com (Switzerland) | Fallback provider for the forecast, and weather recorded with catches | Coordinates rounded to 2 decimal places (about 1 km) and the time. No name, email or account ID | Switzerland / EU |
| RevenueCat, Inc. | Manages Pro subscription status | A random CatchTank user ID, App Store purchase receipts and events | USA |
| Stripe Payments UK Ltd / Stripe, Inc. | Takes Shop payments, prevents fraud and works out tax | Name, email, phone number, billing and delivery address, card details (entered directly with Stripe; we never see them), IP address, order amount | UK, EU and USA |
| Prodigi Group Ltd | Prints and posts Shop orders | Name, delivery address, email address, phone number, the print file (your photo and catch or tank details) | UK (and partner labs and couriers it uses to deliver) |
The weather, river and tide services and our map tile provider receive only coordinates (and, for map tiles, your IP address), as described in section 6. We may also disclose data if the law requires it, to protect someone’s safety, to enforce our terms, or as part of a sale or transfer of CatchTank (you would be told first).
Push notifications are sent through Apple and can show a short preview. A message notification shows the sender and the first 100 characters of the message, and a comment notification shows the comment. You can turn notifications off in iOS Settings or hide previews in your lock screen settings.
12. International transfers
Some providers process data outside the UK, mainly in the USA. Where they do, we rely on the UK–US Data Bridge (for providers certified under it), or on the UK International Data Transfer Addendum or Agreement in their data processing terms, which require protection equivalent to UK law. Ask us at hello@catch-tank.com for details.
13. How long we keep data
| Data | How long we keep it |
|---|---|
| Account, profile, catches, photos, videos, sessions, follows, likes, comments | Until you delete them or your account |
| Direct messages | Until either person deletes their account. Deleting your account deletes the whole conversation, including your messages as the other person sees them |
| Challenge entries and fair-play reports | Until you delete the catch or your account. Deleting your account removes your entries and placings from leaderboards, including finished ones |
| Notifications | Deleted automatically after 90 days, or when you delete your account |
| Push tokens | Until you sign out, turn notifications off, or the token stops working |
| Voice transcripts and photos sent for AI analysis | Not kept by us after the result is returned, unless you save the result or photo on a catch. Challenge fair-play reports are kept with the entry |
| Pro subscription records | While your account exists. Apple keeps its own purchase records under its own policy |
| Shop orders (name, address, email, items, amounts) | 6 years from the end of the financial year in which the order was placed, to meet HMRC record-keeping rules. After that we anonymise the order: name, email and address are deleted and only the product, amount and date are kept for accounts. If you delete your account, your name, email and address are removed from your orders straight away. |
| Print files for Shop orders | Kept so we can reprint a faulty item, and deleted 90 days after delivery (or when you delete your account, unless an order is still being made) |
| Server logs | Up to 30 days |
| Crash reports | Up to 90 days |
| Reports and moderation records | Kept while the accounts involved exist, for safety and to stop repeat abuse. Reports you make, and reports about you, are deleted when the account concerned is deleted. If an account is banned or deleted, we keep a minimal record of reports about that person (the reason, the date and a one-way hashed user ID, with no message text) for 12 months to stop repeat abuse and meet our Online Safety Act duties, then delete it |
| Data on your phone (signed out) | Until you delete it or uninstall the app |
| Backups | Deleted data can stay in encrypted backups for up to 30 days before it is overwritten |
14. Deleting your account
Delete your account in the app: You → Settings → Delete account. This permanently removes your profile, catches, photos, videos, sessions, comments, likes, follows, messages, challenge entries, notifications and push tokens from the live service straight away, and from backups within 30 days. We also revoke Sign in with Apple access and delete your sign-in record.
- Deleting your account doesn’t cancel a Pro subscription. Apple bills you, so cancel it in Settings → your name → Subscriptions first.
- Shop orders are unlinked from you and kept only for the tax period in section 13.
- Reports you made, and reports about you, are deleted with the account concerned. The exception is a minimal record (reason, date and a one-way hashed user ID, no message text) kept for 12 months after a ban or deletion, as described in section 13.
- Catches stored only on your phone aren’t affected. Delete the app to remove them.
You can also email hello@catch-tank.com to ask us to delete your data.
15. Your rights
Under UK data protection law you have the right to:
- access a copy of your data;
- correct inaccurate data;
- delete your data;
- restrict or object to some uses, including anything based on legitimate interests;
- data portability: get your data in a machine-readable format (you can export your catches as CSV in the app, under You → Stats → Export logbook, a Pro feature; or email us for a copy of all your data);
- withdraw consent at any time, for example by turning off location, notifications, the microphone or AI features;
- ask for a human review of any automated fair-play flag.
Email hello@catch-tank.com to use any of these rights. We’ll respond within one month. If you’re unhappy with how we handle your data, you can complain to the Information Commissioner’s Office at ico.org.uk or on 0303 123 1113. We’d appreciate the chance to put it right first.
16. Security
All traffic uses HTTPS. Data is encrypted at rest by our providers, access to our systems is restricted, and sign-in uses one-time codes or Apple or Google sign-in rather than passwords. No system is perfectly secure. If a breach affects your data and is likely to put you at risk, we’ll tell you and the ICO as the law requires.
17. Test and demo accounts
Before launch we tested CatchTank, and showed it to Apple’s reviewers, using demo accounts with made-up anglers and sample catches. They don’t contain real people’s data, and the sample photos are licensed images. Demo accounts and their content are removed before public launch and aren’t used once CatchTank is live. A test account is kept for Apple’s App Review team; it contains only sample content.
18. Cookies, this website and on-device storage
- The app doesn’t use advertising cookies. It stores your signed-out catches, sign-in session, preferences and any offline map areas on your phone using standard app storage, and keeps your sign-in token in the iOS Keychain. This is strictly necessary for the app to work.
- This website (catch-tank.com) sets no cookies and uses no analytics or tracking. It is hosted by Cloudflare, which keeps short-lived request logs (including IP address) for security.
19. Changes to this policy
If we make significant changes, we’ll tell you in the app before they take effect. The “Last updated” date at the top always shows the current version.
20. Contact us
Oliver Edwards, trading as CatchTank
Email: hello@catch-tank.com
Postal address: 22 Lysia Street, London SW6 6NG
See also: Terms of service · Community guidelines · Support