Privacy policy
Last updated 23 October 2026 (subscriber dashboard limited to Salesforce admins; transactional email via Resend)
RenewalReady is operated by Pratik Poddar, an individual based in Bengaluru, India ("we", "us"). This policy explains what the RenewalReady web app at renewalready.pratikpoddar.in and the RenewalReady Connector Salesforce package do with data. Questions: pratik.phodu@gmail.com.
The short version
- RenewalReady only reads from Salesforce. It never creates, edits or deletes anything in your org.
- It reads user, login and license facts, not the content of your business records.
- Free scan: nothing from your org is stored on our servers. The access token is used for the scan and then revoked; the results exist only in your browser tab.
- Paid plans: payment is handled by Dodo Payments as merchant of record. We keep your email, Salesforce org ID, user count, plan and subscription status. We never see your card details.
- Ongoing scans (subscribers who choose to connect): we store an encrypted Salesforce refresh token, your latest scan results and a short savings history, so we can rescan weekly. Disconnecting, or your subscription being cancelled, expiring or failing, revokes the token and deletes the token and results.
- We don't sell data, use it for advertising, or share it with anyone.
Salesforce access we request
When you click Connect, Salesforce asks you to approve two OAuth scopes for the RenewalReady Connector app:
- api ("Access and manage your data"): lets the scan call the Salesforce REST API. RenewalReady only sends read-only queries (HTTP GET); the code has no write calls.
- refresh_token ("Perform requests at any time"): Salesforce requires it for this app type. For the free scan we revoke the token as soon as the scan finishes, so it can't be used again. If you subscribe and click "Connect for ongoing scans", we keep it (encrypted) so weekly rescans can run without you signing in each time, until you disconnect or the subscription ends.
The scan can only see what the user who connects can see. Ongoing scans run as that user.
What the scan reads
- User: active users' ID, name, email, username, user type, profile and its license, created date, last login date, and the Marketing User and Service Cloud User flags.
- LoginHistory: login time, login type, application and status for the last 90 days, to tell people logging in from integrations using the API.
- UserLicense: license names with total and used counts.
- PermissionSetLicense and PermissionSetLicenseAssign: add-on license names, counts, expiry dates and which users hold them.
- PackageLicense and UserPackageLicense: managed package namespaces, seat counts, expiry dates and which users hold seats.
- UserLogin: whether each user is frozen.
- Activity counts: for Opportunity, Lead, Case and Campaign, the number of records each user owns or last modified in the last 90 days (counts only, grouped by user). No record names, amounts, or other content are read.
What we keep
On our servers: nothing from your org. The free scan runs in short-lived serverless functions hosted by Netlify. During the scan, the Salesforce access token sits in an encrypted, HTTP-only cookie in your browser that expires after 15 minutes; it is never written to a database or to logs. Partial scan progress travels between your browser and the function in encrypted form. When the scan finishes or you cancel it, we ask Salesforce to revoke the token and delete the cookie.
In your browser: the results (including the names, emails and usernames of users in findings), the prices you type and your contract end date are kept in your browser's session storage for that tab. They are removed when you close the tab or click "Clear results". The renewal pack PDF is produced by your own browser's print function.
Ongoing scans (subscribers only, after you click "Connect for ongoing scans" and agree): we store, in Netlify Blobs: (1) the Salesforce refresh token, encrypted with AES-256-GCM using a key that exists only in our hosting environment, together with your org's login and instance addresses and the ID of the Salesforce user who connected; (2) the results of the latest scan, also encrypted, which include the names, emails and usernames of users in findings and the license facts listed above; (3) a short history with one summary line per scan (date, active users, seats to remove, savings); (4) the prices and contract end date you save on the dashboard; and, while a scan is running, its encrypted partial progress. Scans run weekly and when you click "Rescan now", always read-only. Access tokens and refresh tokens are never logged or shown in the browser.
How long: when you click Disconnect, or when Dodo tells us the subscription was cancelled, expired or failed, we ask Salesforce to revoke the token and delete the stored token, the results, the history and any scan in progress straight away. If Salesforce stops accepting the token (for example you revoked it in Setup), we delete it on the next scan attempt. The saved prices, contract end date and the subscription record stay with your account record so the dashboard still works; email us to delete them.
Dashboard access (admins only): the subscriber dashboard shows named users from your org, so it opens only after a Salesforce sign-in by an admin of the subscribed org (a user with Modify All Data or Manage Users, from their profile or a permission set). To check this we run one read-only lookup of the signing-in user's own profile and permission set assignments, then revoke that sign-in token straight away; we keep only the org id and that user's Salesforce user id inside a signed 12-hour session cookie, nothing else. The private dashboard link we show after checkout (valid 90 days) only tells us which subscription you mean; it doesn't open the dashboard without an admin sign-in. Connecting for ongoing scans also requires an admin. You can reset the link from the dashboard, which signs out every other device.
If you subscribe: Dodo Payments processes the payment as our merchant of record and collects your email, billing details and card on its own checkout page; card details never reach us. When you start checkout from your results, we pass Dodo your Salesforce org ID, active user count and the plan you chose, so we can match the subscription to your org. Dodo then notifies us of subscription events, and we store one record per subscription (in Netlify Blobs, our hosting provider's storage): your email, org ID, user count, plan, subscription status, next billing date and event dates. Salesforce tokens and scan results are stored only if you turn on ongoing scans (above). We email the subscription's billing email (through Resend, from hello@mail.pratikpoddar.in): a confirmation with your dashboard link after checkout, your dashboard link when you ask for it on the dashboard page, and, with ongoing scans, an alert when a weekly scan finds more license waste than the previous one or when Salesforce stops accepting the connection. These emails contain only the link and summary figures (savings, seats), never user names or other data from your org. We keep this subscription record while the subscription is active and for up to 7 years after it ends for tax and accounting, or delete it sooner on request where the law allows. Dodo Payments' own handling of your data is described in its privacy policy at dodopayments.com.
Our hosting provider (Netlify) keeps standard request logs, such as IP address, time and URL, for security and operations. We don't put customer data in URLs.
Cookies
We use strictly necessary cookies only: rr_oauth (protects the Salesforce sign-in against forgery, 10 minutes) and rr_session (holds the encrypted token during a free scan, 15 minutes), both limited to the /api/sf path; and, for subscribers, rr_acct (a signed dashboard session for a verified org admin, 12 hours, limited to /api) and rr_claim (which subscription a dashboard link points to, 1 hour, limited to /api). No analytics or advertising cookies.
Service providers
- Netlify, Inc. (website and serverless hosting).
- Salesforce, as the source of the data you choose to connect.
- Dodo Payments (merchant of record for paid plans: checkout, billing, tax and receipts).
- Resend (transactional email for subscribers: we send it the recipient's email address and the message, which holds your dashboard link and, for scan alerts, only summary figures such as monthly and annual savings and seats to remove; no user names or other org data).
Removing access
Free-scan tokens are revoked after each scan. For ongoing scans, click Disconnect on your dashboard. You can also revoke access yourself under Setup > Connected Apps OAuth Usage, or uninstall the RenewalReady Connector package at any time from Setup > Installed Packages; either stops ongoing scans, and we delete the stored token on the next attempt.
Your rights
For the free scan we don't store data from your org. Subscribers with ongoing scans can delete the stored token and results themselves at any time with Disconnect on the dashboard. If you have a question or request, including under the GDPR or India's DPDP Act, email pratik.phodu@gmail.com and we'll reply within 30 days.
Changes
If we change what we store, we'll update this policy and the date above first, and ask for consent in the app before storing anything new from your org.