Version 2 · Effective November 11, 2026
Privacy Policy
heyy.to is an Instagram DM automation tool for creators. This page explains every category of data we touch, why we touch it, how long we keep it, and the rights you retain. Questions or requests: hello@heyy.to.
1. Who we are
heyy.to is operated by Pranav Bhatkar, an independent creator-developer based in Amravati, Maharashtra, India. heyy.to is not (yet) incorporated as a company; it is an early-stage, independent tool. There is no team, no investors, and no external operators. All contact is via hello@heyy.to.
2. What we collect, and why
The table below lists every category of data heyy.to stores, where it comes from, why we need it, and how long we keep it. If a category isn't here, we don't collect it.
| Data | Source | Why | Retention |
|---|---|---|---|
| Account info: email, name, role, locale | Sign-in (magic link, Google, password or passkey) | Identify the creator behind the dashboard | Until account deletion |
| Instagram access token | Meta OAuth on Connect IG | Call Meta APIs on your behalf to send DMs, reply to comments, fetch media metadata | Encrypted in Cloudflare KV (AES-GCM-256); deleted immediately on disconnect |
| IG account metadata: handle, IG user ID, business account ID, profile picture URL, subscribed webhook fields | Meta Graph API on connect | Display your connected account in the dashboard; route webhooks to the right automation | Refreshed each connect. Kept, marked disconnected, after you disconnect; deleted when you remove the account in Settings or delete your account (see §8) |
| Comment events: comment text, comment ID, media ID, commenter IG user ID + handle, timestamp | Meta webhooks for posts/reels you subscribed to | Match your keywords and decide whether to trigger an automation; show you the matched-comments history. On Pro accounts that turn it on, also checked for spam and abuse (see §4) | Until you remove the connected account or delete your account. There is no automatic expiry |
| DM events: recipient IGSID, message payload snapshot, delivery status, response index, error code | heyy.to's send pipeline | Track DM delivery, retry safely, surface failures in your dashboard | Until you remove the connected account or delete your account. There is no automatic expiry |
| Inbound messages: the text of DMs and story replies sent to your connected account | Meta webhooks for the account you connected | Read as they arrive to run your keyword automations and lead forms. On Pro accounts that turn on brand detection, also read to spot brand enquiries (see §4) | Not stored, except answers to a Lead Form you run and brand enquiries flagged by brand detection (next row) |
| AI results (Pro): brand enquiries (sender handle and ID, the flagged message text, status) and moderation labels on comments (spam, abuse, whether we hid it) | Produced by heyy.to from the messages and comments above, only on accounts that turned the feature on | Show you enquiries on your dashboard, and let you review or undo moderation | Brand enquiries: 90 days, then removed. Moderation labels: kept with the comment event they belong to |
| Contacts: IGSID, display name + profile picture URL (if Meta returns them), counters, first/last triggered timestamps | Meta Graph API, lazily enriched on activity | Populate the Contacts page so you know who heyy.to DM'd on your behalf | Until you delete them, remove the connected account, or delete your account. There is no automatic expiry |
| Lead submissions: the form fields a viewer fills in response to a Lead Form DM | Submitted by your audience inside Instagram DM | Hand the leads back to you (CSV export, dashboard view) | Until you delete the parent automation, or your account is deleted |
| Audit log entries: sensitive action, IP, user-agent | Server-side, generated by heyy.to | Investigate security incidents (IG connect/disconnect, account and data-deletion requests) | Entries tied to you are deleted when you delete your account. There is no automatic expiry before that |
| Marketing analytics: page views, named events, hashed IP, country, device class | Google Analytics 4 + PostHog on heyy.to | Understand which pages bring real creators (no advertising retargeting) | GA4: 14 months (default). PostHog: 7 years (provider default; we'll delete on request) |
| Dashboard product analytics + session recordings: clicks and navigation (autocapture), plus masked session replays where every input and all text is masked before it leaves your browser | PostHog on the authenticated dashboard (app.heyy.to) | Understand how creators use the dashboard and reproduce bugs (no advertising, no third-party sharing) | PostHog: 7 years (provider default; we'll delete on request) |
| Link in bio (beta): the page, links, images and click counts you publish | You, in the dashboard | Serve your public link-in-bio page | Until you delete the page or your account |
| Privacy policy version you are on, and when you accepted it | Signing up, or the Accept button on the policy notice | Know which accounts have seen the current policy | Until account deletion |
| Billing records: plan, subscription status + billing period, Razorpay subscription/payment references, and GST tax invoices (invoice number, amounts, tax split, place-of-supply state). No card, UPI, or bank details. | Razorpay checkout + heyy.to's billing pipeline | Run your Pro subscription and issue GST-compliant invoices | GST tax invoices (with their PDFs and tax information) are kept as required by law, even after account deletion, and are not shown to you or anyone else (see §8); everything else until account deletion |
Note: Marketing analytics on heyy.to use anonymized IP collection (GA4 anonymize_ip: true) and run no PostHog session replay. The authenticated dashboard (app.heyy.to) does record masked PostHog session replays, with every input and all text masked - see §9.
3. What we do NOT collect
- We do not keep your Instagram DMs. We read the DMs and story replies sent to your connected account as they arrive, to run your automations (and, on Pro accounts that turn it on, to spot brand enquiries, see §4). We store only the DMs heyy.to sends on your behalf, answers to a Lead Form you run, and brand enquiries flagged on Pro.
- We do not scrape Instagram posts, followers, hashtags, or any content outside the webhook fields you authorize at OAuth time.
- We do not store your card, UPI, or bank details. heyy.to offers paid plans (Lite and Pro); all payment credentials are entered directly with Razorpay, our payment processor, and never touch heyy.to's servers. We keep only your plan, subscription status, Razorpay references, and GST invoices.
- The marketing site (
heyy.to) runs no session replay and no autocapture: it uses GA4 + PostHog with autocapture and session recording both disabled. The authenticated dashboard (app.heyy.to) does run PostHog autocapture + session replay, but every input and all text is masked before it leaves your browser - see §9. - We do not sell, rent, or share your data with third parties for marketing or advertising. Ever.
- We do not use your data to train AI or ML models.
4. Reading messages and comments with AI (Pro)
On the Pro plan, heyy.to can use an AI model to read comments and DMs. Three things already work or are coming in this way, and each is described here so you can decide whether to use it:
- Meaning-based keyword matching (available now). If you set a keyword to match on meaning, the comment or message text is checked by the model against your keyword to see whether the intent matches.
- AI comment moderation. Comments that none of your automations used can be checked for spam and abuse. Depending on your setting we flag them for your review or hide them on Instagram. We only ever hide, which you can undo; we never delete a comment.
- Brand enquiry detection. DMs and story replies that none of your automations used can be checked for brand collaboration enquiries. A flagged message is shown on your dashboard for 90 days and then removed. DMs that are not flagged are not stored. heyy.to never replies to a brand on your behalf.
What is sent. Only the text of the comment or message, to Cloudflare Workers AI, the model service run by Cloudflare. We do not send your access token or your account identifiers with it. Cloudflare states that it does not retain inputs to Workers AI or use them to train models (see Cloudflare's Workers AI data usage page). We do not use your data to train AI or ML models.
Your control. Moderation and brand detection are Pro features you switch on per connected account, and they run only for accounts that have accepted this version of the policy. Meaning-based keyword matching is part of the current service: when a keyword is set to match on meaning, the comment or message text is sent to Workers AI, and this is not gated on accepting this version. A model can be wrong: that is why moderation can be reviewed and undone, and why a brand enquiry is a suggestion you act on yourself.
5. Where your data lives
heyy.to runs entirely on Cloudflare. Your data resides in:
- Cloudflare D1 (Asia-Pacific region): relational data such as users, invites, IG account metadata, comment events, DM events, contacts, lead submissions, and audit logs.
- Cloudflare KV: encrypted Instagram access tokens, short-lived caches (webhook dedup, OAuth state nonces), and rate-limit counters.
- Cloudflare R2: image attachments you upload inside the automation editor (used as DM media).
The marketing site (heyy.to), dashboard (app.heyy.to), and API (api.heyy.to) are all served from Cloudflare's edge. Cloudflare's data processing terms apply to the underlying infrastructure.
6. Who we share data with
We do not sell your data. We never share it for advertising or marketing purposes. The only third parties that ever see any of your data are infrastructure processors strictly necessary to run heyy.to:
- Meta Platforms, Inc.: to call the Instagram Graph API on your behalf (sending DMs, replying to comments, fetching profile metadata). Subject to Meta's Privacy Policy.
- Cloudflare, Inc.: hosting, edge routing, D1, KV, R2, Workers, and Workers AI (the model that reads comment and message text for the Pro features in §4). Cloudflare Privacy Policy.
- Resend: transactional email delivery (magic-link sign-in, account notifications). Your email address is passed to Resend only at send-time. Resend Privacy Policy.
- Google LLC: only if you choose Google OAuth as a sign-in method. Google receives the sign-in request; we receive your email + Google account ID. Google Privacy Policy.
- Google Analytics 4: page-level marketing analytics on
heyy.toonly. IP is anonymized at collection. Google Privacy Policy. - PostHog: product and marketing analytics. On the marketing site (
heyy.to) autocapture, session replay, and surveys are all off and persistence is in-memory, so no PostHog cookies are written. On the authenticated dashboard (app.heyy.to) PostHog runs with autocapture and session replay enabled - but every input and all text is masked before it leaves your browser - and a first-party PostHog cookie is used to stitch sessions. PostHog Privacy Policy. - Razorpay Software Private Limited: payment processing for paid plans. Your card, UPI, or bank details are entered directly with Razorpay and never reach heyy.to; we receive only subscription and payment references to run your subscription and issue GST invoices. Razorpay Privacy Policy.
- Dodo Payments: payment processing and merchant of record for international (USD) subscriptions. Your payment details are entered with Dodo and never reach heyy.to. Dodo Payments Privacy Policy.
- Featurebase: the in-app help messenger and feedback board. Your name and email are passed to it so your requests are linked to your account. Featurebase Privacy Policy.
- Sentry: server-side error monitoring. Logs are scrubbed for sensitive keys before send; no IG tokens, no DM contents. Sentry Privacy Policy.
We do not transfer data to any processor outside this list. We do not engage data brokers, ad networks, or affiliate partners.
7. How we secure your data
- Instagram access tokens are encrypted at rest with AES-GCM-256 using a versioned key envelope, stored only in Cloudflare KV, and never logged or written to D1.
- Magic-link tokens are hashed before storage and expire after 15 minutes.
- Two-factor sign-in (TOTP) and passkeys are available. Once you enable 2FA, you are challenged for it at every sign-in.
- All Meta webhooks are HMAC-SHA256 signature-verified over the raw request bytes before any processing.
- Constant-time string comparison is used for all token, invite, and signature validations.
- Session cookies use the
__Host-prefix withSecure,HttpOnly, andSameSite=Lax. - Logger middleware scrubs sensitive keys (tokens, signatures, authorization headers) at every depth before serialization to Sentry.
- heyy.to is single-tenant per Cloudflare account, so there is no shared multi-tenant database surface across operators.
heyy.to is not (yet) SOC 2, ISO 27001, or HIPAA certified. We do not make compliance claims we can't back up. The full security model is documented internally and reviewed on every change.
8. Your rights and how to use them
Under India's Digital Personal Data Protection Act, 2023 and (for EU/UK users) the GDPR / UK GDPR, you have the right to access, correct, export, and delete your personal data. heyy.to honors these rights regardless of your jurisdiction.
- Disconnect Instagram at any time. Revoke heyy.to's access in Instagram Settings → Apps and Websites, or disconnect in the dashboard. We delete your access token immediately and stop processing webhooks for that account. Your stored events and contacts stay until you remove the account in Settings or delete your account.
- Delete your account. Visit
app.heyy.to→ Settings → Danger Zone and confirm with your email address. We then delete all of your data: your sign-in and security records, Instagram access tokens, connected accounts, automations, comment and DM events, contacts, lead submissions, link-in-bio pages and uploaded images, short links, email records, subscription records, and audit log entries tied to you. An active subscription is cancelled first. All data from your connected Instagram accounts is deleted. Two kinds of record are not deleted, they are soft-deleted: they are kept, attached to an anonymous record of your account with no name or email that cannot be signed in to, and they are not shown to you or to anyone else in the product. These are (1) GST tax invoices, their PDF copies and the tax information on them, kept because Indian tax law requires us to keep them, and (2) all referral records: referral links (switched off), clicks on them, who was referred by whom, and commission and payout records, kept because they are records of money owed or paid. If you were referred by someone, the label naming you on their commission record is cleared. Data held by our processors (§6) is covered by their terms; email us and we will ask PostHog to delete yours. - Export your data. Email us and we'll send a JSON dump of every record tied to your account within 7 days.
- Correct your data. Most fields are editable in the dashboard. For anything else, email us.
- Meta-initiated data deletion. Meta calls
https://api.heyy.to/api/ig/oauth/data-deletionwhen an Instagram user asks Instagram to delete the data heyy.to holds for them. We verify Meta's signature and then delete all of that account owner's data, exactly as described for account deletion above, and respond with a confirmation URL and code per Meta's spec. If the automatic deletion fails, we still revoke access at once, and we finish it by hand: email us with your confirmation code.
If you believe heyy.to has mishandled your data, you can lodge a complaint with India's Data Protection Board (once constituted under DPDP-2023) or, for EU users, your local supervisory authority. We'd appreciate you emailing us first so we can fix it.
9. Cookies and analytics
The marketing site (heyy.to) uses two analytics tools and a minimal set of first-party cookies:
- Google Analytics 4: writes
_gaand_ga_*cookies (first-party) for visit measurement. IP anonymization is enabled. We do not enable Google Signals, ad personalization, or remarketing audiences. - PostHog (marketing): runs with
persistence: "memory", so it writes no cookies on the marketing site. Autocapture is off, session recording is off, surveys are off. - PostHog (dashboard): on
app.heyy.to, a first-party PostHog cookie (and local storage) is used to stitch authenticated sessions. Autocapture and session replay are enabled, butmask_all_textplussession_recording.maskAllInputsandmaskTextSelector: "*"mask every input and all text before it leaves your browser, so replays and captured events never contain the raw content you type or read.
Both GA4 and PostHog respect the browser Do Not Track header. If your browser sets navigator.doNotTrack === "1", neither tool fires.
Invitation links. If you arrive through an invitation link shared by someone else, we set one additional first-party cookie (heyy_ref) so the invitation can be credited if you go on to create an account. It stores only the short code from the link, expires after 30 days, and is never used for advertising or shared with anyone. To count how often a link is opened without identifying who opened it, we store a salted, irreversible hash of the visitor rather than an IP address, together with a coarse country and the day of the visit.
We do not use third-party advertising cookies. We do not load Facebook Pixel, LinkedIn Insight, or any other ad-network tracker.
10. Children
heyy.to is not intended for users under the age of 18, in line with Meta Platform Terms for the Instagram Graph API. We do not knowingly collect data from anyone under 18. If you believe a minor has signed up, email hello@heyy.to and we will delete the account.
11. International data transfers
heyy.to is operated from India. Your data is processed on Cloudflare's global edge network and stored primarily in their Asia-Pacific D1 region. Cloudflare may route requests through other regions for performance and reliability, covered by their data processing addendum.
For EU/UK users: where processors (Cloudflare, Resend, Google, PostHog, Sentry, Razorpay) are based outside the EEA, they operate under either Standard Contractual Clauses or their own GDPR-compliant transfer mechanisms.
12. Changes to this policy
Every version of this policy has a number and an effective date, shown at the top of this page. When a change is material (new categories of data, new processors, changes to retention) we publish a new version. Signed-in Pro accounts that are on an older version see a notice in the dashboard with a Review button, which opens the policy, and an Accept Policy button, which records your acceptance. Not accepting does not block normal use of heyy.to, but AI comment moderation and brand enquiry detection stay off until you accept. Meaning-based keyword matching is part of the current service and is not gated on acceptance.
13. Contact
Questions, concerns, or data requests: hello@heyy.to. We aim to respond within 7 days; for urgent security or deletion requests, please write "urgent" in the subject line.