Core Privacy & Data Invariants Zero document uploads: Your sensitive documents never leave your phone. 100% offline document engine with zero external tracking SDKs. Optional pseudonymous referral rewards and Google Play subscription verification. Support handled directly via support@cibru.in. Privacy Policy | Document Resizer · CIBRU
CIBRU · Document Resizer
com.documentresizer.app
# Privacy Policy
**Document Resizer** · Android package: `com.documentresizer.app`
Updated: October 20, 2026 · Operator: CIBRU · support@cibru.in · Intended audience: 18+
**Document processing is local.** Document Resizer prepares selected photos, signature images and PDFs on your device. Referral rewards and purchase verification use online services. Saving to a cloud provider or sharing sends your chosen files to that destination.
## 1. Operator and App Purpose
Document Resizer is operated by CIBRU (“we”, “us”). Contact support@cibru.in for privacy, deletion or support. The app resizes, crops, compresses and converts selected images and PDFs and prepares copies for requirements you enter. It is an independent utility, not a government service, document-authentication service or guarantee of portal acceptance.
## 2. Selected Documents and Local Processing
The document tools read selected content URIs from Android's file chooser or incoming shares, stage private working copies, and process them on-device. Processing reads metadata such as names, dimensions, orientation, sizes and page information and computes a local SHA-256 file digest during staging. Document contents and this file digest are not sent to our referral or purchase-verification backend. Private job workspaces and sharing copies are stored on disk, not solely in memory; they are separate from the device pseudonyms described below.
Importing a cloud-only file can require its provider's internet connection. Saving through a cloud-backed file provider or sharing with another app sends your selected files to that destination under its practices. Gallery exports use Android's media storage where supported. You control the destination; its copies are outside the app's temporary-file cleanup.
## 3. Referral Service and Identifiers
Referral rewards are optional. Syncing starts off and opening **Get Free Premium** does not enable it. Read the disclosure and tap **Enable Referral Rewards** to opt in. Once enabled, registration and syncing can occur on startup, resume and refresh, not only when sharing. Turning off referral sync or using Unsync clears local referral-reward state; reopening the screen does not opt you in again.
The app creates or restores an anonymous Supabase authentication session without requesting an email or password. This is a pseudonymous, device-linked profile, not an unidentifiable record. The service receives:
- The app identifier, authentication user/session information and request identifier.
- An app-scoped **SHA-256 pseudonym derived on-device from Android ID** for deduplication. The raw Android ID is not transmitted by this protocol. No IMEI or MAC address is read or sent. A stable hash is still pseudonymous data, not an assurance of anonymity or independent hardware attestation.
- The raw Google Play installation-referrer string, any embedded referral code, and available Play installation/click timestamps.
- A request-bound Google Play Integrity token. Google processes app, licensing and device-integrity signals; the verification service checks eligible app/device verdicts.
Profiles, referral relationships, installation outcomes, counts, milestones and reward expiry support attribution, rewards, authentication and abuse prevention. Documents are not included in these requests. Supabase and Google also receive connection information such as IP addresses and may keep operational/security logs.
Use Unsync or Turn off referral sync to save an opt-out, cancel in-flight client work and clear cached local referral-reward state. Late responses cannot restore local rewards after that opt-out, but already-sent requests may have reached the server. The existing authentication session remains available for a deletion request. Unsync is not server deletion; use Data Deletion for that request.
## 4. Local Settings and History
Private preferences/DataStore hold settings; private preferences also hold custom presets, referral session tokens, cached referral state, purchase/order information, retired-token hashes and subscription status. Purchase-token values and the locally remembered purchase set use Android Keystore-backed encryption before disk storage; if encryption is unavailable, tokens can remain only in process memory and require restoration after restart. Other preferences/DataStore and referral session storage are not made application-encrypted by that mechanism. Android also provides its app sandbox/device protections.
Optional recent history is off by default and keeps an in-memory list of up to 20 results, including names, formats, sizes, timestamps and local output references. Clearing history removes the list, not exported files. Saved presets can persist until removed or app storage is cleared.
## 5. Google Play Purchases and Verification
Where a subscription is available, Google Play processes payment. No email or separate CIBRU purchase login is required. Billing can connect and query products or existing purchases on startup, reconnect and foreground, even without a new purchase tap. Verification can resume for a completed purchase awaiting verification. These flows are separate from referral opt-in and contain no document bytes. A payment still marked pending by Play is not sent for entitlement verification and does not unlock Premium.
The app sends the app/product identifiers, raw purchase token, request identifier, action and Play Integrity proof over HTTPS to the Supabase `play-subscription` service for verification, restoration or deletion. The backend checks Google subscription status, expiry and ownership and stores verified purchase/order information for entitlement operation and support. Separately configured Google notifications and reconciliation services may update records; their live deployment is not established by this draft. We do not receive your payment-card details, Google password or Google account email through this purchase API. Email support receives whatever you choose to include.
A separately scoped SHA-256 purchase-owner pseudonym is supplied to Google Play as the obfuscated account identifier at checkout and included in request-bound verification. Google must return the matching identifier; a purchase token alone does not authorize another installation. Same-device restoration depends on the Android user/signing identity remaining stable. Legacy/other-device recovery needs support; no automatic cross-device ownership-transfer service is implemented. Paid and referral cache metadata is authenticated with Android Keystore-backed AES-GCM; this does not protect a fully compromised device.
Purchase verification records are stored separately from referral profiles. Local verified access is bounded by purchase expiry and a maximum 72-hour freshness window; reboot, invalid cache or verification failure can require going online sooner. Referral access has a separate maximum 24-hour freshness window. Neither is a promise of uninterrupted offline premium access. See Subscriptions and Refunds.
**Purchase sync after deletion:** the app saves a pause and removes local paid access before requesting server deletion. The pause survives app restarts and remains after a failed or empty deletion attempt; retrying deletion does not resume syncing. Within the current installation, only an explicit Restore Purchases action clears the pause, before its online result, and can recreate verification records. Product-price queries and billing connections may still occur while purchase verification is paused. Clearing app storage or reinstalling removes local preferences; retained server deletion markers still block ordinary recreation of covered records while present. See Purchase Data Deletion for the full scope.
## 6. Promotions, Support and SDKs
The inspected dependencies contain AndroidX/Compose, Kotlin, ExifInterface, OkHttp, Google Play Billing, Install Referrer and Play Integrity. Supabase is accessed through HTTPS, not a separately installed Supabase Android SDK. Transitive dependencies include Google Play-services location/places components, data-transport and Firebase encoding helpers. The inspected app code does not call location APIs and its merged manifests do not request location permission; these helpers are not a Firebase Analytics integration. Google service diagnostics follow the provider's practices. No standalone third-party advertising, analytics or crash-reporting SDK is integrated in the inspected app. Local promotional UI does not use document contents. External links open services with their own practices.
If you email support, we receive your contact details and message. Do not send private documents, passwords, purchase/authentication tokens or card details. An order reference and approximate purchase date usually suffice to start a billing inquiry.
## 7. Permissions and Providers
- `android.permission.INTERNET` permits online referral, purchase-verification and related service requests.
- `android.permission.ACCESS_NETWORK_STATE` permits access to network-state information; its declaration does not guarantee every request is preceded by a connectivity check.
- Inspected merged SDK entries include `com.android.vending.BILLING`, `com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE` and the app's signature-protected `com.documentresizer.app.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION`, supporting Play billing/referrer binding and internal receiver protection. Recheck the final release manifest.
The inspected source and merged manifests do not request broad storage/all-files access, contacts, camera, microphone, location or Advertising ID permission. Android file selection, user-directed media exports and temporary, read-only FileProvider grants for sharing copies provide the relevant file access. Permission declarations and bundled SDKs must be rechecked for the final published build.
Providers include Supabase for authentication, database and functions, and Google for Play Billing, Install Referrer and Integrity. Information may also be disclosed when required by law or necessary for proportionate service security, subject to applicable law.
## 8. Retention and Deletion
- **Working files:** workspaces and sharing copies older than 24 hours are eligible for cleanup when startup cleanup runs. Files may remain longer if the app is not opened or deletion fails. Settings → Clear Temporary Files attempts to remove inactive workspaces and sharing copies; it can preserve the current workspace and does not confirm forensic erasure.
- **Local app data:** clear storage/data in Android Settings or uninstall to remove app-private data. Delete exported/cloud/shared copies separately. Both configured cloud-backup and device-transfer rules exclude job workspaces and referral/purchase preferences; other settings and custom presets may be backed up. Removing local storage also removes saved sync choices and sessions.
- **Referral records:** open Get Free Premium → Delete referral data and confirm. The client saves sync-off/deletion-pending state before the request and blocks re-enabling sync until deletion succeeds. Success clears local referral preferences and removes associated server profile/install/event and request-protection records, but preserves the separate Supabase Auth session/identity and other users' earned aggregate totals. App-scoped hashed device/user deletion markers remain for 90 days, then become eligible for successful cleanup; a repeated deletion can extend this period. No general referral inactivity-expiry rule is established. Turning sync off alone is not server deletion.
- **Purchases:** active verification records support subscription operation. Backend defaults make verified expired/revoked records eligible for cleanup 90 days after expiry, failed jobs after 30 days and request-protection records after one day. Successful purchase deletion removes covered purchase records and queued jobs, and clears local active/pending-verification tokens, order information and the remembered purchase set. Local sync/status preferences, the verification-cache namespace and replacement-token hashes can remain until local app storage is cleared. Server-side app-scoped token hashes and deletion/expiry/retirement metadata remain until 90 days after the later of deletion or expiry, then successful cleanup; repeated deletion can extend retention. These are pseudonymous identifiers. A deliberate restore can recreate necessary records.
- **Operational limits:** actual log/support retention, backup expiry, hosting regions/transfer safeguards and the support deletion turnaround have not been verified for this publication draft. No fixed period or immediate server-deletion guarantee is asserted. Cleanup depends on deployed configuration and successful jobs. The publisher must confirm these details before final publication.
Use Data Deletion and Purchase Data Deletion, or email support@cibru.in. Referral deletion does not delete purchase data; neither data deletion nor uninstall cancels Google Play billing. Google maintains its own transaction records under its policies and law.
## 9. Security and Privacy Rights
The app uses HTTPS for backend requests and disables cleartext network traffic in its manifest. No system guarantees absolute security. This policy does not claim independently verified encryption-at-rest algorithms, a particular data-center region or transfer mechanism.
Depending on your location, you may have rights to access, correct, obtain a copy of, restrict, object to or delete personal information, withdraw consent where applicable, and complain to a data-protection authority. Contact support@cibru.in. We may need proportionate verification; a referral code or order number alone is not proof of ownership. Service delivery, proportionate security/fraud prevention, legal obligations and consent where required are the relevant purposes/bases; this policy does not replace a required in-app disclosure or consent.
## 10. Children and Updates
The app is intended for users aged 18 and older. Contact us if a child has provided personal information so we can investigate. We will date policy updates and give additional notice or seek consent where legally required.
© 2026 CIBRU. All rights reserved.
Support: support@cibru.in