Privacy Policy
Last Updated: October 28, 2026
1. Scope
This policy explains which Pro UPI QR features run entirely in your browser and which optional account or cloud features send limited data to our service providers. We minimize collection and do not ask for a UPI PIN, banking password, card number, or OTP.
2. Local-First Tools
Static QR generators, printable documents, calculators, image tools, and decoders normally process their form data and uploaded files inside your browser. That content is not uploaded to Pro UPI QR. A generated upi://pay link opens a UPI app; Pro UPI QR does not receive your UPI PIN or process the resulting bank transaction.
3. Browser Storage and Optional Groq Requests
Many tools save drafts in localStorage on your device. The payments workspace at /app/ (payment tracker) keeps your business details, clients, invoices, payments, and reminder history there too (for clients abroad, also the invoice currency, any INR amount you record as credited, and your international payment details); it is not uploaded unless you sign in to sync (section 4). Clearing site data removes all of it, so use the workspace's backup download. If you sign in to a different account on this device, the previous account's data is set aside in this browser (never uploaded) until you download or discard it in Settings. Bank statement files you import into the tracker are read inside your browser and never uploaded; only the payments you choose to record are saved. The menu tool can optionally call Groq directly from your browser using an API key you provide; when you use that option, the key is kept in browser storage and your menu prompt is sent directly to Groq under Groq's terms. It is not routed through or stored by our server.
4. Accounts and Dynamic QR Campaigns
Clerk processes account identity, authentication cookies, and session data for sign-in and dashboard features. Merchant profiles store an account identifier, merchant name, UPI ID, and secret API credential in Vercel KV. For a dynamic QR campaign, we store the account identifier, server-generated campaign ID, title, HTTPS or UPI destination, category, optional expiry date, pause state, and aggregate mobile/desktop scan counts. The destination is disclosed when someone follows that campaign's QR. Individual scan histories and precise locations are not retained by the campaign service.
Payments workspace sync (optional). If you sign in on the payment tracker, your workspace — for each business you add, its name, UPI ID, phone, GSTIN and Udyam number, client names and contact details, invoice numbers, amounts, dates, descriptions, payments with any UTR you typed, and reminder timestamps; for invoices to clients abroad, each invoice's currency and any INR credited you record on a payment; and, if you add them, your international payment details (account name, bank name, SWIFT/BIC, IBAN or account number, bank address or routing text, a PayPal, Wise, Stripe or Razorpay link) and your LUT ARN with its financial year — is stored in Vercel KV under a hashed account key so it can sync between your devices. Reminder messages themselves are not stored; WhatsApp and SMS open on your device. The cloud copy stays until you choose Settings → Delete cloud copy or ask us to delete your account. Deleting the cloud copy does not erase the copy saved in your browser.
Pay links. When you create a pay link for an invoice, anyone with the link can see the name and UPI ID of the business the invoice belongs to, the invoice number, description, due date, and the amount still due. For an invoice in another currency, the link shows the business name, invoice number, description, due date and the amount due in that currency, plus the bank-transfer details and payment link that business saved, and the GST export line with its LUT ARN if you turned it on. It never shows your UPI ID, and INR invoices never show your bank details. Changes to these details reach the page after your next sync, and they stay visible until you turn the link off. A PayPal, Wise, Stripe or Razorpay link opens that service under its own terms. The page never shows your client's name or contact details. A Pro statement link for a client shows, instead of one invoice, the number, dates, and amount due of each of that client's unpaid invoices and the total in each currency — never descriptions, names, or contact details. For a client with invoices in other currencies, it also shows the international payment details that business saved for those currencies and, if you mark the invoices as exports, the GST export line with its LUT ARN; for such a client the page can show both your UPI ID and your bank details. We store the link's random token with a hashed account key and invoice reference until you turn the link off. If a payer submits "I've paid", we store the UTR or transfer reference they typed, an optional amount, and the time until you confirm or dismiss it; a submitted UTR or transfer reference is never treated as proof of payment. Pro UPI QR never receives or holds the money — payments go directly to your UPI ID, or to the bank or payment account you list.
Pro subscriptions. Pro is sold through Dodo Payments, our merchant of record: Dodo runs the checkout, takes the payment, handles GST, and issues your invoice, so we never receive your card number or UPI PIN. To create your Dodo customer record we share your account's email address and name with Dodo. We store your Dodo customer and subscription IDs, plan interval, subscription status, current period end, whether you cancelled, the end date of a free trial, and whether the account has had a subscription (so the free trial is offered once), under a hashed account key, plus webhook event IDs for seven days to ignore duplicate notifications. Dodo keeps payment and tax records under its own privacy policy and legal obligations.
Reminder notifications (optional). If you turn them on, we store your browser's push subscription (an endpoint URL issued by your browser's push service, such as Google, Apple, or Mozilla, and its encryption keys) under your hashed account key, for up to five devices. Each morning our server reads your synced workspace to build a short summary — how many invoices to chase, the overdue totals (per currency), and the top client and amount — and sends it encrypted end to end, so the push service cannot read it. When a client submits a UTR or transfer reference on one of your pay links, we also send an immediate notification with the invoice number, any amount they entered, and the last four characters of the UTR or transfer reference. Notifications appear on your device, including the lock screen. Turn it off in the tracker's Settings or your browser; expired subscriptions are deleted automatically.
5. Checkout and Payment-Response Data
Merchant checkout sessions store the merchant name and UPI ID, order reference, amount in paise, safe return URL, status, and any transaction reference submitted by the customer. A submitted reference is marked pending until the merchant confirms it. Checkout sessions expire after 24 hours. The separately signed payment-response API may retain order status, transaction reference, amount, and provider for 90 days in Vercel KV.
6. Early-Access List
After you download or share a document from the invoice, receipt, quotation, proforma, or payment-reminder tools, or download a UPI QR code, we may show a card for the free payment tracker with an optional email list for launch news of features still in development, such as automatic WhatsApp reminders. Joining is never required to use any tool. If you join, we store only your email address, the tool you were using, your page language, whether you agreed to answer a few follow-up questions, and the sign-up date, in Vercel KV. Nothing from the document or QR code itself is sent. We use the address only to tell you when those features launch and, if you opted in, to ask those questions. We do not sell or share it. Each entry is deleted automatically 12 months after sign-up, or earlier on request.
7. AI Assistant Connector (MCP)
If you add our MCP server at https://www.proupiqr.in/mcp/ to Claude or another AI app, that app sends our server the values each tool needs, such as a UPI ID, payee name, amount, note, upi:// link, error code, or dates. We use them only to compute the reply and then discard them: they are not stored in a database or written to our logs. We keep one daily total of tool calls with no identifiers, and a hashed network-address counter that expires after one minute to stop abuse (calls from Claude's shared Anthropic addresses share one such counter). The AI app's provider (for example, Anthropic for Claude) handles your conversation under its own privacy terms. Links the connector returns carry payment details after the # in the address, which your browser does not send to our server; they also carry a fixed utm_source=mcp tag, with nothing about you in it, so our analytics can count visits that came from AI apps. See how the connector works.
8. Hosting, Security, and Technical Logs
Vercel hosts the site and server functions and may process standard request information such as IP address, user agent, timestamps, and error logs under its own privacy terms. We use short-lived hashed request fingerprints for abuse rate limits; the rate-limit keys expire with their configured windows. Clerk and Groq process data only for the features described above.
9. Retention and Deletion
Dynamic campaigns remain until their owner deletes them or we remove them for abuse. Checkout sessions expire after 24 hours, and signed payment-response records expire after 90 days. Early-access entries expire 12 months after sign-up. Synced businesses remain until you delete that business, the cloud copy, or your account; deleting a business also turns off its pay links. Pay links remain until you turn them off, and payer claims until you confirm or dismiss them. International payment details stay with the business until you change or delete them; pay-link copies of them are removed when you turn the link off or delete the business. Deleting the cloud copy doesn't turn off the first business's pay links; turn them off to remove the bank details shown there. Merchant account settings remain while the account is active. To request account, merchant-profile, or early-access deletion, email us from the address you used. Provider security logs follow the provider's retention policy.
10. Analytics, Advertising, and External Links
We do not run Google Analytics or Google AdSense. Vercel Speed Insights records cookie-free Core Web Vitals (LCP, INP, CLS) for the page, not form contents. Vercel Web Analytics records page views and named product events such as QR generated, PNG/PDF export, share, copy, tool error, early-access card viewed, joined, or dismissed, and payment-tracker invoice added, payment recorded, or reminder opened. Those events include only an action name and a short tool slug. They never include a VPA, payee name, amount, invoice text, uploaded file, bank account details, payment links, currencies or INR-credited amounts. Our server also keeps daily aggregate counts, such as how many visits downloaded something from a free tool or opened the payment tracker (each visit counted once), how many pay links were created, or how many Pro checkouts started, with no account, device, or personal identifiers attached. The homepage may show one card labelled "Sponsored": it is a plain link (and an image we host), it loads no sponsor script, pixel or cookie, and we share no visitor data with sponsors; the link carries utm_source=proupiqr so the sponsor can count visits on their own site. Links to UPI apps, affiliate merchants, sponsors, or other websites leave Pro UPI QR and are governed by those services.
11. Contact and Data Requests
For privacy questions, access requests, deletion requests, or corrections, email privacy@proupiqr.in. Include only the information needed to locate your account; never email a UPI PIN, OTP, or banking password.