Explore an ocean of picture-logic puzzles, collect watercolor discoveries and enjoy a daily challenge. Main-game puzzles work offline; iCloud sync is optional.
Contact: syun0929@gmail.com. Include your Fishogram version, iOS version, what happened and steps to reproduce it. Screenshots are optional. Do not send passwords, Apple account credentials or a complete save file unless needed after discussion.
How to play: row and column numbers describe consecutive groups of filled squares. Fill squares or mark them empty. Undo reverses the last stroke. Hints explain a logical next step; if entries conflict, review your board.
Progress: the app saves progress locally. For cross-device sync, use the same iCloud account, enable iCloud sync and open the app on both devices. Settings show sync status and conflicts. Sync failures do not mean your local progress is deleted. Before changing accounts, removing the app or resolving a conflict, confirm where your latest progress is saved.
Daily challenge: dates follow the local calendar date in the time zone used when the app starts. If you change time zones while travelling, restart the app to use the new time zone. The current bundled pack covers October 4, 2026 through January 1, 2027. New daily puzzles are added through periodic App Store releases. Keep Fishogram updated to receive later puzzle packs; if a date is outside the installed pack, update the app when a newer pack is available.
Sharing: choose a completed collectible and use the system share sheet.
Privacy and data controls: Privacy Policy. Turning off iCloud sync does not delete existing cloud copies. Contact us for data management guidance.
Fishogram Privacy Policy
Applicable app version: 1.0.6 and later versions with the same practices. Earlier versions retain their applicable policies.
Policy revision: 2026-10-19
Developer: JiYang Zeng | Contact: syun0929@gmail.com
Fishogram saves puzzle progress, board entries, undo history, completed puzzles, collection dates and settings on your device. It also saves earned coins, hint entitlements and saved hint content, game activity and play-time statistics, and information needed to recover unfinished saves and synchronize data. Fishogram does not create its own user account. Coins are earned through gameplay and optional rewarded ads when available.
iCloud sync is enabled by default unless you have turned it off. When sync is enabled and your iCloud account and the service are available, the app uses your account's private Apple CloudKit database to synchronize main-game and daily progress, completion and collection dates, coins and reward records, free-hint usage and unlocked hints, and game statistics. Saved hint content can include the board and logical explanation. Sync records include puzzle and attempt identifiers, activity dates and durations, revision information and a randomly generated installation identifier. The app uses Apple's CloudKit user record identifier to recognize account changes and keep account-related data separate. These identifiers support sync and consistency, rather than advertising.
Hints can be unlocked and used offline, subject to the available free hints or coin balance. Hint and coin changes are saved locally first; iCloud synchronization is deferred until an appropriate boundary when enabled and available. Ads require a network connection. Availability of cloud features also depends on Apple's services and the app's cloud configuration; this policy does not guarantee a successful sync. Game Center sign-in and iCloud sign-in are separate. The developer does not routinely receive or inspect your private game records. Apple provides iCloud under its own terms and privacy policy.
Apple processes your Apple Account, payment method, billing, refunds, and transaction records.
Fishogram reads the product identifier and Apple-verified entitlement status needed to unlock purchased features. We do not receive or store your complete payment-card information or Apple Account password.
From version 1.0.5, Fishogram offers the one-time Fishogram Pro purchase and repeatable coin and hint packs through Apple StoreKit. Verified purchases activate Pro, grant its 30 bonus hints, or credit the purchased items. The app keeps transaction-identifier digests with the StoreKit environment, product and quantity, grant, use and revocation records to prevent duplicate delivery and recover unfinished delivery. These records remain locally and can sync to your private CloudKit database when iCloud is enabled. A local purchase backup and a Keychain backup of Pro hint use support recovery; deleting the app may leave Keychain, iCloud and Apple records. Restore Purchases restores Pro, not completed consumable purchases; only previously saved or synced consumable balances can be recovered, and recovery is not guaranteed.
https://www.apple.com/legal/privacy/data/en/app-store/
The production configuration integrates Google Firebase Analytics and Crashlytics to understand feature use and diagnose failures. Our custom Analytics events contain limited categories and counts, such as pages visited, tutorial and settings actions, game mode and board size, hints and coin rewards or spending, sync and leaderboard outcomes, sharing or legal-link actions, and visit-time buckets with stroke, undo and hint-use counts. These custom events do not contain boards, answers, saved games, puzzle or attempt identifiers, exact game-activity dates, player nicknames, or Apple or Game Center account identifiers. This restriction applies to our custom event payloads; it does not mean that SDK events have no timestamps or identifiers.
The Analytics SDK also processes app-instance identifiers, device and app information, automatic lifecycle and engagement events, and general location derived from IP addresses. The app uses FirebaseAnalyticsCore, without IDFA collection capability, and does not request access to precise location for analytics. Crashlytics can process installation identifiers, device and operating-system information, crash stacks and relevant app state, fixed-category non-fatal errors reported by Fishogram, and Analytics breadcrumbs that help diagnose events leading to a crash. Authorized project operators can view analytics and diagnostic reports. Google processes this data to provide the services. This is separate from your private CloudKit game records.
Analytics IDFV collection is disabled. Advertising storage, ad-user-data and ad-personalization consent are denied for Analytics. There is currently no in-app switch to disable Analytics or Crashlytics. Turning off iCloud sync does not turn off these services. Builds without a valid Firebase configuration, automated tests and previews do not initialize this telemetry.
Custom Firebase events describe shop entry, actions, product category, loading, purchase, restoration and delivery outcomes; they exclude transaction identifiers, receipts, account credentials and wallet balances. Firebase may separately measure purchases automatically, including product, price and currency.
When authenticated and available, the app submits your consecutive main-game completion count and longest daily completion streak to Apple's Game Center leaderboards. It stores pending and acknowledged scores locally under a hash of the Game Center player identifier so it can retry for the correct account. Score submission can occur automatically while signed in; opening a leaderboard is not required. Apple handles the player profile and leaderboard presentation; Game Center nicknames, avatars and scores may be visible to other players under Apple's rules. You can manage Game Center sign-in and privacy settings in system Settings. When the service is unavailable, the app shows local personal scores. It does not upload full boards or hint content to Game Center, and does not send your Game Center player identifier to Firebase in custom events.
When the home screen is eligible to show an update prompt, Fishogram can query Apple's itunes.apple.com lookup service. The query contains the public app ID, a fixed US catalog selector, a language code and an hour-based cache value. Apple receives the network request, including the connection IP address. The installed app version is compared locally, rather than included in the query. Check time and success/failure, and a deferred version and deferral time are saved locally to limit repeated checks and prompts. There is currently no separate update-check switch. Choosing to update opens the App Store, which operates under Apple's policies.
Sharing a collectible or statistics image is your choice. The system share sheet sends the image to your chosen destination, which handles it under its own policy. If you email support, the developer receives your email address, message and attachments, uses them to respond, and retains the correspondence for that purpose. Provide only necessary information; do not send passwords or Apple credentials. You may request deletion of support correspondence, subject to applicable legal retention obligations.
Local data remains while the app's data is kept on the device. Deleting the app removes its on-device app data; offloading preserves it. Backups or cloud copies may restore game data later. Disabling iCloud stops future sync attempts, but does not delete local data or existing cloud records, and a submitted request may still complete. The app has no button to delete cloud records and no automatic expiry for its game records. We cannot directly access your private CloudKit database to delete its records for you; contact us for guidance on available data-management options.
Analytics retention depends on the project's Google Analytics settings and Google's service rules; we do not promise a specific period that has not been verified. According to Google's current documentation, Crashlytics keeps crash stacks and associated identifiers for 90 days before beginning removal from live and backup systems; this is not a promise of complete deletion on day 90. Removing the app does not itself delete data already received by Google or Apple. Requests concerning your information can be sent to syun0929@gmail.com. We will assess the request under applicable law and the data and service controls available; identifying a specific diagnostic or analytics record may be limited because Fishogram does not associate those records with a named Fishogram account. Do not send account credentials.
Support and legal pages are hosted by Google Sites and Firebase Hosting. Google may process website access information under its privacy policy. We do not add our own website analytics or support forms. Website hosting is separate from the app's Firebase services and private CloudKit storage. We will update this policy when our practices change. Questions and privacy requests: syun0929@gmail.com.
Active Pro removes forced interstitial ads only. Optional rewarded ads and user-selected wallet ads remain available and are subject to the advertising data practices below. Pro does not disable Analytics or Crashlytics. Completion-ad frequency varies with progress, and the time cooldown no longer applies after 200 first-time completions.
Optional rewarded ads can provide wallet coins or double main/daily completion rewards. After the daily rewarded-ad allowance is exhausted, you may explicitly choose an unrewarded wallet interstitial. In version 1.0.4, a full-screen interstitial may also appear after you tap Continue following a first-time puzzle completion. Completion and base rewards are saved first. The first ten unique completions are protected; subsequent ads are limited by completion counts and elapsed time. Replays do not count, and a rewarded ad on that completion suppresses its interstitial. If an ad is unavailable, navigation continues. Ads do not interrupt board entry. Puzzle play remains available offline; ads require a connection. Earlier 1.0.3 versions only have the explicitly selected wallet interstitial.
Rewarded offers are optional. Rewards and receipts are saved locally and may sync through your private CloudKit database. Leaving before reward conditions are met gives no extra reward. A local save failure can allow a retry without watching again.
Ads are provided through Google AdMob mediation with Google, Unity Ads and Liftoff Monetize (Vungle). Their SDKs may process IP addresses and approximate location, device/app identifiers and information, launches and other usage, ad impressions and interactions, performance and diagnostics. Unity also discloses purchase-history data, other usage data and device characteristics such as language, model, screen size and connection type. Fishogram does not send payment details, boards, Apple/Game Center account IDs, custom ad user IDs or alternative ad identifiers to these providers. Providers use applicable data for advertising, measurement, analytics, fraud prevention and operation. They may associate relevant data with device or app identifiers. If you voluntarily report an ad, the ad provider may receive the report for support.
We request non-personalized ads, disable Google's publisher first-party ID, set Unity's privacy consent restriction, opt out through Liftoff's CCPA setting, and disable Liftoff IDFV reporting. These are application restrictions, not fabricated user consent. The app does not actively request ATT permission or precise-location permission for ads. These settings do not mean SDKs collect no data. SDK and consent settings restrict processing; SKAdNetwork and AdAttributionKit may support privacy-preserving install attribution.
Where applicable, Google UMP presents regional privacy messages. Required privacy choices can be revisited in Settings under Ad privacy options. Applicable consent signals are handled by UMP and the SDKs/adapters. Declining or withdrawing consent may make ads unavailable; normal gameplay remains available. Turning off iCloud does not disable advertising or telemetry. Advertising data retention and user rights depend on each provider's policies and applicable law; we do not promise a fixed retention period. Contact us for help, and use provider privacy controls where available.
Fishogram is intended for general players and is not specifically directed to children under 13. This does not mean every player is an adult. Contact us concerning a child's data.
Provider privacy information:
Google: https://policies.google.com/technologies/ads
Unity: https://unity.com/legal/privacy-policy
Liftoff: https://liftoff.io/privacy-policy/
Third-party information
Firebase: https://firebase.google.com/support/privacy
Google Analytics data collection: https://support.google.com/analytics/answer/10285841
Google Analytics retention: https://support.google.com/analytics/answer/7667196
Google Privacy Policy: https://policies.google.com/privacy
Apple Privacy Policy: https://www.apple.com/legal/privacy/
iCloud terms: https://www.apple.com/legal/internet-services/icloud/
Game Center and privacy: https://www.apple.com/legal/privacy/data/en/game-center/
Updated: 2026-10-19
JiYang Zeng ยท syun0929@gmail.com
1. Scope. These terms explain your use of Fishogram, a picture-logic puzzle game developed by JiYang Zeng. For App Store downloads, Apple's standard end-user licence agreement also applies: https://www.apple.com/legal/internet-services/itunes/dev/stdeula/. These terms supplement it and do not replace mandatory consumer rights.
2. Use and content. Use Fishogram lawfully and respect the rights of others. The app, its original artwork, text and puzzle collection are protected by applicable intellectual-property law. Your permitted use follows Apple's licence and applicable law. Do not redistribute protected materials or misuse services. Sharing the collectible images through the app's share feature for personal use is permitted.
3. Progress and iCloud. The app saves progress on your device. Optional iCloud sync uses your Apple account and Apple's services. Network, storage, account changes and software errors can affect saving or sync. Review sync status and any conflicts before deleting the app or changing accounts. Turning off sync does not delete cloud copies. Privacy information is available on this site's Privacy Policy page.
4. Purchases. Fishogram Pro is a one-time purchase that permanently removes forced interstitial ads and grants 30 bonus hints once. Optional rewarded ads remain available. Restore Purchases restores Pro without granting the bonus again; it does not redeliver completed coin or hint pack purchases.
5. Daily puzzles and updates. New daily puzzles are supplied in periodic app releases. The installed puzzle pack has a fixed date range; update the app to receive later packs when available. We do not promise an unlimited supply, an exact release schedule or availability for every future date. Features and puzzle availability may change in updates.
6. External services. Apple handles app distribution and iCloud under its own terms. Google hosts this website. If you share an image or send support email, the service you choose has its own terms and privacy practices.
7. Availability and responsibility. We aim to keep Fishogram reliable, but cannot promise uninterrupted service or error-free operation. Any exclusions or limits apply only to the extent permitted by law; nothing here removes rights or liabilities that cannot lawfully be excluded. You may stop using the app at any time.
8. Changes and contact. We may update these terms to reflect changes in the app or legal requirements. Revised terms will appear on this page with an updated date. Questions: syun0929@gmail.com.