Wiggle has no accounts, no ads and no analytics. A solo run never leaves your phone. The one time anything goes online is co-op, when two phones share a run, and even then it's anonymous and deleted within a day.
THANK YOU FOR SHOPPING WITHIN BUDGET
Budgets, entries, run history, streaks and settings are stored in a local database on your device. We have no copy, because there's nowhere for one to go.
Hosting or joining a shared run puts that run's prices and categories in Google Firebase under a random, anonymous ID. No name, no email, no item names. Each session expires 24 hours after it starts.
No ad networks, no analytics, no crash-reporting SDKs, and no permissions for your camera, contacts, photos, location or microphone.
The App Store or Google Play handles payment. The app only learns whether Pro is unlocked, never your card.
Every piece of information Wiggle touches ends up in one of four places. Pick one to see where it lives and how long it stays.
Local database and preferences. Never uploaded.
Google Firebase, anonymous, expires in 24 hours.
Apple or Google handles it. We never see it.
Wiggle never collects it at all.
Wiggle ("the app") is a grocery budget app for Android and iOS, developed and published by Jan Aguja, an independent developer in the Philippines ("we", "us"). This policy explains what information the app handles, where it goes, and how long it stays there.
Nothing that identifies you. There's no sign-up, and nothing in the app asks who you are.
Wiggle does not require an account, sign-in, email address, phone number, or any other personal detail. We do not knowingly collect information that identifies you personally.
The one exception is technical: when you tap Host Session or Join Session to use co-op mode, the app creates an anonymous identity through Firebase Authentication's Anonymous Sign-In. It is a randomly generated ID with no name, email, password or other detail attached. Its only job is letting the co-op service's security rules tell one phone apart from another. Solo play never creates this ID and never contacts any server.
This is almost everything, and it stays put.
The following is stored in a local database and local preferences store on your device, and is never sent to us or anyone else:
If you join a friend's co-op run and choose Add to my history when it ends, a copy of that run is saved to this same local database. Nothing extra is sent anywhere to do so.
Export and import. Export in Settings creates a backup file and hands it to your device's share sheet; it goes only where you choose to send or save it. Import reads a backup file you pick with your device's file picker. The app does not upload either file.
Two phones, one run, one temporary document. Gone within a day.
Co-op lets two phones share one live grocery run. Starting a session creates a single document in Google's Cloud Firestore, identified by a six-character join code. While the session is running it contains only:
It does not contain:
Anyone with the join code can open the session while it's live, so only share the code with the person you're shopping with.
Every session is set to expire 24 hours after it's created, finished or not. Expired sessions are deleted by the app itself: whenever anyone hosts or joins a session, the app removes sessions that have expired. In practice they're gone soon after expiring, though during quiet periods it can take a little longer. If a session ends or the connection drops, the rest of Wiggle keeps working normally.
Google Firebase for co-op, and nothing else.
Co-op is built on Google Firebase: Firebase Authentication (Anonymous Sign-In), Cloud Firestore, and Firebase App Check. App Check helps confirm that co-op requests come from the genuine Wiggle app, using your device's built-in attestation service (App Attest or DeviceCheck on iPhone, Play Integrity on Android). Whether these checks are enforced or only monitored may change over time. They confirm the app and device are genuine; they don't give us personal information.
These services are only contacted while you're actively using co-op. Google processes the infrastructure-level data involved (such as IP addresses needed to deliver network requests) under its own privacy policy.
Wiggle includes no advertising networks, analytics SDKs or crash-reporting SDKs of any kind. We do not sell, rent or share your information with anyone.
Wiggle Pro is a one-time purchase made through the Apple App Store or Google Play. The store handles the payment entirely under its own terms and privacy policy. We never see or store your payment details; the app only learns whether Pro is unlocked so it can turn the Pro features on.
Wiggle does not request access to your camera, photo library, contacts, location or microphone.
You're in control of the local data. The cloud data cleans itself up.
Local data stays on your device until you remove it. The History screen lets you delete individual runs, and uninstalling the app or clearing its data in your device's settings removes everything. There is no account and no server-side copy of your solo runs, so there's nothing for us to keep or for you to request deletion of.
Co-op session data expires 24 hours after creation and is then deleted automatically as described in section 4. If you have a concern about a specific session, email us and we'll help.
Depending on where you live, including under the Philippine Data Privacy Act of 2012, the GDPR or similar laws, you may have the right to access, correct or delete personal data held about you. Because Wiggle doesn't hold personal data on any server, the simplest way to exercise these rights is on your own device. For anything else, contact us and we'll respond.
Wiggle is not directed at children under 13. We do not knowingly collect personal information from children, and as described above, the app doesn't knowingly collect personal information from anyone.
If this policy changes, the updated version will be posted at this address with a new effective date. If a change meaningfully affects what data leaves your device, we'll say so in the app's release notes. Continued use of the app after a change means you accept the updated policy.
Questions about privacy? Email [email protected]. It goes straight to Jan.