Nag Budget Privacy Policy

Effective 17 September 2026 · Last updated 8 October 2026

Nag Budget handles spending records you type yourself, and it shows those records to people you choose. So this page lists, item by item, what we take, where it is stored, and who can see it. Anything not listed below is not collected.
If it leaves your device, it is collected. Even content you typed yourself counts as collected once it is stored on our servers. Values that stay inside the app and never reach a server (which tab you last viewed, whether you dismissed a banner) are therefore not in the table below. Those live on the device and disappear when you uninstall the app.

Who runs this

App name잔소리가계부 (Nag Budget)
Package namecom.zucchini.gonari
Developer and operatorZucchini (the "Company")
Data protection officerJiseong Hong
Contactzucchini.help@gmail.com · kiniinsight@gmail.com

This policy applies to the Nag Budget app provided by the developer Zucchini. The developer name and contact registered on Google Play are as above.

1. What we collect and where it is stored

ItemWhenWhere it is stored
Email, name, profile photo URL, unique identifier (uid)When you sign in with GoogleFirebase Authentication
Anonymous identifier (uid)When you start without signing inFirebase Authentication
Display name, friend codeCreated on first launch; the name can be changedCloud Firestore
Expense and income entries (text, amount, category, date, time, the raw line you typed)sensitiveWhen you type themCloud Firestore
Nags (a line left on an entry)When you type themCloud Firestore
Ledger name, member list, invite code, join requestsWhen you create or join a ledgerCloud Firestore
Friend list, friend requestsWhen you request or accept with a friend codeCloud Firestore
Push notification tokenWhen you allow notificationsCloud Firestore (inside that ledger document)
List of people you blockedWhen you block someoneCloud Firestore (an area only you can read)
Abuse reports (reporter, subject, reason)noteWhen you reportCloud Firestore. See section 8
Usage events (screen views and similar)Automatically while you use the appFirebase Analytics
Usage steps (when you first used each screen or feature, and the days you opened the app in your first 14 days)Automatically while you use the app. Once per step, with no amounts or textCloud Firestore (under your account)
Advertising identifierAutomatically. See section 2Firebase Analytics, Google AdMob
Ad request data (advertising identifier, device and app information, approximate region inferred from IP, ad impressions and clicks)When ads are on and an ad card appears on screen. See section 2Google AdMob
Ad privacy consent choiceBefore the first ad in regions that require consent (such as the EU)The device and Google AdMob
Crash reports (stack trace, device model, OS version)When the app crashesFirebase Crashlytics

We do not access the camera, location, photo library or contacts, and we do not request those permissions. The app asks for internet access and notifications, the advertising ID permission (AD_ID) used by the ads SDK, and microphone and speech recognition permission, asked only when you turn on Voice input in Labs and tap the mic (6-1).

2. Ads and the advertising identifier

The app may show ads (from 30 September 2026). Ads appear only as a single card below the statistics cards and in the middle of the entry list. There are no ads on the screens where you write or edit entries. Ads are chosen and served by Google AdMob.

3. About financial information

Expense and income records are financial information and more sensitive than ordinary notes.

4. Who can see your records

This is the heart of the app. It exists to show your records to other people, so you set the audience and the server rules enforce it. Anyone outside that audience is blocked at the rules layer.
Where the record livesWho can see it
Your personal ledgerYou, and friends you accepted
A shared ledgerThe approved members of that ledger
A pending join requestThe ledger name and member count only. Entries and nags stay hidden.

4-1. When the operator looks at records

Records stored on the server can technically be opened by the operator. So we have set out when that happens and how it is logged.

5. What leaves when a notification is sent

When you record an expense, people in the same ledger get a notification. For that, the app sends only what is needed to compose the notification to a server the Company operates (kiniinsight.com).

6. Splitting your line happens on the device

When you type one line such as "lunch gimbap 4500, taxi yesterday 12000", the app splits it into several entries and assigns categories. That processing runs on the device using rules, and no text is sent anywhere for this purpose.

If this interpretation ever moves to an external AI model, we will state here what is sent and tell you inside the app before it happens.

Exception: only for the operator (admin) accounts, a typed line is sent to an external AI model (Anthropic Claude) to test the quality of the split. No other user's text is sent.

6-1. Voice input (Labs, only if you turn it on)

If you turn on Voice input in Labs on your profile and tap the mic in the input field, your phone's speech recognition turns what you say into text while you speak. We do not receive or store the audio. The text only goes into the input field, and it is saved like any other entry only when you tap send.

Speech recognition is handled by your phone's speech service (usually Google on Android), and the audio may be sent to that service to do it. That processing follows that service's privacy policy. Turn Voice input off in Labs to stop using the microphone.

7. Third parties and processors

RecipientWhatWhy
Google (Firebase Authentication)Account details, unique identifierSign-in
Google (Cloud Firestore)All records, ledgers, friends, push tokensStorage and sharing
Google (Firebase Analytics)Usage events, advertising identifierUsage analysis
Google (Firebase Crashlytics)Crash reportsCrash tracking
Google (AdMob)Ad request data, advertising identifier, consent choiceShowing and measuring ads
Expo (Expo Push)Push tokens, notification textNotification delivery
VercelThe server those notification requests pass throughServer operation
Your phone's speech recognition service (Android: usually Google)Audio while you speak with Voice input onTurning speech into text. The audio never reaches us

We do not sell personal data. The only data that goes out for ads is the AdMob row above; your entries do not. Cloud Firestore is hosted in a United States region, so records are stored outside the Republic of Korea.

8. Retention and deletion

9. Your rights

A warning about starting without signing in. Records written that way are still stored on the server, tied to an anonymous account held on the device. Uninstall the app or change devices and that account, and its records, cannot be recovered. Linking a Google account in your profile carries the records at that moment over to that account.

9-1. Abuse reports are handled separately

Reports are not deleted. A report names both the reporter and the reported person, so if either side could delete it, reporting would be useless. Server rules stop both parties from reading or deleting one, and a report survives account closure.

10. Security

11. Children

The service is not directed at children under 14, and we do not knowingly collect their personal data. If we learn of such a case we delete it without delay.

12. Contact

For a complaint or consultation about a privacy violation in the Republic of Korea, you may contact:

13. Changes

When this policy changes we publish it here with an effective date. Material changes, such as new collected items or a new third party, are also announced inside the app.