1. Scope
This Privacy Policy explains how SodCode handles information when you use version 1.0.0 of the PrintSheet Android app. It applies to the app, not to information handled by an app, printer, storage provider, or sharing destination you choose to use with it.
For information about the SodCode website, see our website privacy policy.
2. Privacy at a glance
- PrintSheet does not require an account and does not offer cloud sync.
- Photos, drafts, previews, and PDF creation are processed on your device. PrintSheet does not upload their contents to us.
- Release builds use Firebase Analytics and Crashlytics, display non-personalized Google Mobile Ads, and contact online services for ad settings and required version checks.
- You control which photos are imported and where a PDF is saved, shared, opened, or printed.
3. Photos, drafts, and settings on your device
Photo selection uses the Android system picker. The app does not ask for broad access to your photo library. When you import a supported JPEG or PNG, PrintSheet stores a project copy and a smaller preview in its private app storage. It also stores the layout information needed for your draft, such as dimensions, crop, rotation, order, paper, margins, spacing, and project name.
App preferences, saved size presets, layout presets, and the most recent successful version-check result are stored locally. Layout presets contain geometry, not photo pixels or photo file paths. Automatic Android backup is disabled for the app’s private data.
4. PDFs and destinations you choose
PDFs are generated locally. Temporary export files are kept in app cache and are removed after seven days when the app next performs its cleanup; Android may clear them sooner. When you save, share, open, or print a PDF, Android passes it to the destination you select. That destination may store, transmit, or process the PDF under its own privacy practices. A PDF saved outside PrintSheet is not removed when you delete its draft.
5. Analytics and diagnostics
Release builds use Google Analytics for Firebase to record fixed feature events such as opening the app, creating or resuming a draft, importing photos, creating a layout, generating a PDF, sharing or printing, and seeing a quality warning. A photo or warning count may accompany the relevant event. Google’s SDK may also process standard app, session, device, and installation information.
Firebase Crashlytics receives crash and non-fatal diagnostic reports, including the type of error, code stack frames, whether it was fatal, the app version, device details, timestamps, and installation or session identifiers. PrintSheet’s Dart reports omit raw exception messages and redact absolute file paths and URLs before submission. Reports may wait on the device while offline and be sent later.
We do not add photo contents, draft contents, photo names, project names, file paths, or a custom user ID to analytics or diagnostic reports. Google Analytics advertising storage, ad-user-data consent, and ad-personalization signals are disabled in the app.
6. Advertising
PrintSheet is free and may display banner and interstitial ads supplied by Google Mobile Ads. Ad requests are marked as non-personalized. Non-personalized ads are not selected from your past behavior, but Google may still process information such as app and device details, your IP address, the Android advertising ID or other identifiers, ad interactions, and diagnostic data for ad delivery, frequency limits, fraud prevention, and aggregated reporting.
PrintSheet never attaches your photos, drafts, photo names, project names, or file paths to an ad request. The app also reads a small Firebase Realtime Database record containing only the publisher’s ad on/off setting, test-or-production mode, ad unit identifiers, and an update timestamp. A valid copy of that setting is cached locally.
7. Version checks and updates
PrintSheet downloads a small version policy over HTTPS on first use and periodically while the app is used. A successful check allows up to seven days of offline use. The request does not contain photos or draft contents, but the hosting provider can receive ordinary connection data such as your IP address, request time, and the app’s request user agent. Google Play handles any update download and installation.
8. Information you send us
If you email support, we receive your email address and whatever you choose to include, such as an app version, Android version, issue description, or attachment. We use it to respond, investigate the request, protect the service, and meet legal obligations. Please do not send photos, documents, or other sensitive content unless it is needed for your request and you are comfortable sharing it.
9. How online information is used and shared
Limited online information is used to understand feature reliability, diagnose failures, serve and measure ads, apply publisher ad settings, enforce supported app versions, provide support, prevent abuse, and comply with law. We do not sell or use your photo or draft contents for advertising.
Online service providers include Google Analytics for Firebase, Firebase Crashlytics, Firebase Realtime Database, Google Mobile Ads, Google Play, the version-policy host, and email or website hosting providers. Google explains its practices in the Firebase privacy documentation and the Google Privacy Policy. These providers may process information in countries other than your own under their terms and applicable safeguards.
10. Retention and deletion
Local drafts, project copies, previews, preferences, and recovery files remain until you delete them, clear app data, or uninstall the app. Deleting a draft removes its project data, recovery files, and imported copies. A photo removed from a draft may remain in that draft’s recovery storage until the draft itself is deleted. Your original photo is not deleted.
Google and other providers retain online service data under their own retention rules. Support messages are retained only as long as reasonably needed to handle the request, maintain business records, resolve disputes, or comply with law.
11. Your choices and rights
You can choose which photos to import, remove photos, delete drafts, clear PrintSheet’s app data, uninstall the app, and choose whether and where to export a PDF. Android settings may let you reset or limit use of the advertising ID. Files already sent to another app or service must be managed with that destination.
Depending on where you live, you may have rights to ask about, access, correct, delete, restrict, or object to our processing of personal information. Because PrintSheet has no account and we do not receive your local projects, we may hold little or no information that can be matched to you. Contact us to make a request; we may need information sufficient to verify and locate it.
12. Children’s privacy
PrintSheet is a general utility and is not directed to children under 13. We do not ask users to create an account or provide a name, but the advertising and diagnostic services described above may process device information. If you believe a child has sent personal information to us through support, contact us so we can investigate and delete it where appropriate.
13. Security
We use reasonable technical and organizational safeguards, including private app storage, HTTPS for the version policy, limited Firebase database access, and redaction in app-generated Dart diagnostics. No storage or transmission method is completely secure, and the security of an exported PDF also depends on the destination you choose.
14. Changes to this policy
We may update this policy when PrintSheet, its service providers, or legal requirements change. The date at the top identifies the current version. Material changes may also be communicated through the app or its store listing where appropriate.
15. Contact
For privacy questions or requests about PrintSheet, email sodcode.app@gmail.com.