Privacy Policy
Effective date: 5 November 2026. Last updated: 5 November 2026. This Privacy Policy applies to Graycouch 2.0 and later.
1. Who we are
Graycouch is an iPhone app for saving links for yourself. It is run by Teak Yhean Lai, an individual developer in Malaysia (“Graycouch”, “we”, “us”). We are not a company. We are the controller of your personal data (the “data controller” under Malaysia’s Personal Data Protection Act 2010), which means we decide how it is used.
Controller: Teak Yhean Lai (individual developer), Malaysia
Email: hello@graycouch.app
This policy covers the Graycouch iPhone app, its share extension, and the Graycouch website at graycouch.app.
Graycouch is run from Malaysia, so the Personal Data Protection Act 2010 (PDPA), as amended by the Personal Data Protection (Amendment) Act 2024, applies. Graycouch isn’t currently offered in the European Economic Area or the United Kingdom. The rights in section 10 apply to everyone, wherever you live, and section 10 also covers California.
2. The short version
Graycouch is a personal link saver. Your saves are private to you. There is no sharing, no groups, no comments and no public profiles.
We don’t sell your data or show ads. We don’t track you across other apps or websites.
Category suggestions are made on your iPhone. What goes into that step isn’t sent to us or to any AI provider.
Preview images stay on your iPhone.
We only look at your saves to fix a problem you report to us, or when the law requires it.
You can delete your account from inside the app.
Questions: hello@graycouch.app.
3. What we collect and why
Account details
Examples: If you use Sign in with Apple: your name and email address (or Apple’s “Hide My Email” relay address) and an account ID. If you sign in with Google, we receive your name, email address and, depending on your Google settings, a link to your profile photo. We don’t use the photo. If you sign up with email: your email address and a password, which Supabase Auth stores in hashed form (we never see your password). We send an email to confirm your address.
Why we use it: To create your account, confirm your email and sign you in.
Legal basis: Contract.
Your saves
Examples: Links you save through the iOS share sheet, with the category, a short title, the preview title, the page’s own description, the web address of the preview image, the site name and the preview status.
Why we use it: To keep your saves, show them to you, sort them and let you search them.
Legal basis: Contract.
Reminders
Examples: The reminder time you set for a save, and an optional reminder note of up to 200 characters.
Why we use it: To remind you about a save.
Legal basis: Contract.
App updates
Examples: When the app checks for updates, Expo’s servers see your IP address, device and app version.
Why we use it: To deliver app fixes and updates.
Legal basis: Legitimate interests (keeping the app working and secure).
Server logs
Examples: IP addresses and request details recorded by Supabase and Cloudflare.
Why we use it: Security and keeping the service running.
Legal basis: Legitimate interests (security).
Support
Examples: Emails you send to hello@graycouch.app and our replies.
Why we use it: To help you.
Legal basis: Contract and legitimate interests.
What you must give us. You need an email address, or Apple or Google sign-in, to create an account. Without it we can’t provide Graycouch. Everything else, like reminder notes, is optional.
We see only what you choose to share to Graycouch. We don’t ask for sensitive data, such as health, religion or financial details. Please don’t put it in reminder notes.
Who looks at your saves. We only look at your saves to fix a problem you report to us, or when the law requires it.
Category suggestions happen on your device
When you save something, Graycouch suggests a category and a short title on your iPhone, using Apple’s on-device models where your iPhone supports them, and otherwise a method built into the app that also runs on your device. The inputs to this step stay on your iPhone and are not sent to Graycouch or to any AI provider. The category you keep is saved with your save. Suggestions can be wrong; you can change the category. If the app you share from includes a caption, Graycouch may use it on your iPhone to suggest a category or short title. It is not saved or sent to us.
No automated decisions. We don’t make decisions about you based only on automated processing that have legal or similarly significant effects. Category suggestions run on your iPhone and you can change them.
Reminders
When you set a reminder, the reminder time for that save, and any optional reminder note you add (up to 200 characters), is stored with your save on our servers (Supabase), so it is kept with your account. The notification itself is scheduled and shown by your iPhone as a local notification. We don’t run a push server and don’t collect a push token. You can turn notifications off any time in iOS Settings.
Link previews
When you share a link to Graycouch, your phone loads that page directly to show you a preview card (title, image and description). Like any website visit, that site can see your IP address and basic device info, under its own privacy policy. Graycouch doesn’t receive or store your IP address from this step. We store the link, the preview details (the preview title, the page’s own description, the site name and the image web address) and anything you add, like a reminder note, as part of your save. When your phone builds the preview, it loads the image directly from the site that hosts it, so that site can see your IP address, just like a normal visit. Preview images are stored only on your device, not on our servers.
Previews are built on your phone using Apple’s LinkPresentation framework and the details the share sheet provides, with one page load per save. For YouTube and TikTok links, your phone may also contact YouTube’s or TikTok’s public preview service (oEmbed), and it may load the site’s icon (favicon). Those services see your IP address, under their own privacy policies. Our servers don’t fetch the pages you save.
Server logs
Like most online services, our hosting providers (Supabase, Cloudflare) may briefly record IP addresses in their system logs for security and to keep the service running. We don’t use these to track you.
Aggregated statistics
We may publish aggregated statistics, such as the total number of links saved on Graycouch. These never include your links, reminder notes or account details and can’t identify you.
4. Who we share data with
We don’t sell your data or show ads. We don’t share your data for advertising. We share personal data only with the service providers in section 5, only as needed to run Graycouch. There are no other users who can see your saves.
5. Our service providers
Supabase (Supabase Pte. Ltd., Singapore)
What they do for us: Database, sign-in (Supabase Auth), server functions
Data: Account details, hashed passwords, saves, reminder times and notes, server logs
Where it’s processed: Singapore (ap-southeast-1, for both our staging and production projects); Supabase uses sub-processors listed on its site
Data processing terms: Supabase DPA, part of the Supabase Terms of Service
Transfer safeguard: Standard Contractual Clauses and UK Addendum, in the DPA
Resend
What they do for us: Sends sign-up confirmation emails for Supabase Auth (through custom SMTP)
Data: Your email address and the confirmation email
Where it’s processed: United States (Resend stores customer data in the US)
Data processing terms: Resend DPA, applies to every account and is pre-signed when the account is created
Transfer safeguard: Standard Contractual Clauses and UK Addendum, in the DPA; Resend is also listed on the official Data Privacy Framework list (EU-U.S. and UK Extension)
Expo
What they do for us: Over-the-air app updates (Expo Updates)
Data: IP address, device and app version when the app checks for updates
Where it’s processed: United States (per Expo’s privacy policy)
Data processing terms: Data processing terms built into the Expo Terms of Service; for update checks, Expo also handles data under its own privacy policy
Transfer safeguard: Standard Contractual Clauses (in the Expo Terms); Expo is also listed on the official Data Privacy Framework list (EU-U.S., UK Extension and Swiss-U.S.)
Cloudflare
What they do for us: Domain, website, security, and forwarding of email sent to hello@graycouch.app
Data: Web request data, IP addresses in logs, support emails in transit
Where it’s processed: Cloudflare’s global network
Data processing terms: Cloudflare DPA, part of Cloudflare’s subscription agreement
Transfer safeguard: EU-U.S. Data Privacy Framework and UK Extension (Cloudflare is listed on the official list), with Standard Contractual Clauses and UK Addendum as backup
Google (Gmail), independent provider under Google’s terms
What they do for us: Receives support email forwarded from hello@graycouch.app
Data: Support emails
Where it’s processed: Google’s systems, as described in Google’s privacy policy
Data processing terms: None (no DPA): Google handles Gmail under its own privacy policy and terms
Transfer safeguard: Google LLC is listed on the official Data Privacy Framework list (EU-U.S., UK Extension and Swiss-U.S.)
The providers that run the app (Supabase, Resend, Expo and Cloudflare) are bound by terms that protect your data at least as well as this policy.
If you email us, your message is received in a Gmail account and handled by Google under Google’s own privacy policy and terms (https://policies.google.com/privacy). We only use it to reply and to help you.
Sign-in providers. If you choose Sign in with Apple or Google sign-in, Apple or Google confirms who you are and shares your name and email with us. They handle your Apple or Google account under their own privacy policies: Apple (Apple Privacy Policy) and Google (Google Privacy Policy; the Google APIs Terms of Service apply the Google Controller-Controller Data Protection Terms).
Other websites. When you open a saved link, you leave Graycouch and that site’s own privacy policy applies.
Legal reasons. We may share data if the law requires it, to protect anyone’s safety, or to enforce our Terms of Use. If Graycouch is ever transferred to someone else, we will tell you before your data falls under a different privacy policy.
6. International transfers
We are in Malaysia. Your data is stored in Singapore (Supabase), and handled by providers in the United States (Resend, Expo, Apple, Google) and on Cloudflare’s global network, which may have different data protection laws.
Malaysia (PDPA): When we transfer your personal data outside Malaysia, we do so because it’s necessary to provide Graycouch under our agreement with you (PDPA s.129(3)(b)).
Provider safeguards: our providers’ data processing terms include transfer safeguards, such as the European Commission’s Standard Contractual Clauses, and some US providers state they take part in the EU-U.S. Data Privacy Framework (see section 5).
You can ask us by email for a copy of these safeguards.
7. How long we keep data
Account and saves: while you have an account.
After you delete your account: your account data is removed from our live systems within 30 days, and from backups and logs within 7 days after that (Supabase keeps daily backups for 7 days and API and database logs for 7 days).
Support emails: up to 2 years after the conversation ends, then deleted.
We may keep some data longer if the law requires it or to resolve a dispute.
8. Deleting your account
You can delete your account from inside the app in Settings. You don’t need to email us. When you do:
Your account and all your saves, categories, short titles, reminder times and reminder notes are deleted from our servers, within the times in section 7.
If you signed in with Apple, we revoke Graycouch’s Sign in with Apple tokens.
We don’t store Google sign-in tokens. Deleting your account removes your sign-in records from our systems. To also remove Graycouch’s access from your Google account, visit https://myaccount.google.com/connections.
If we must keep some information by law, we will tell you what we keep and why.
You can also delete single saves at any time.
9. Security and data breaches
Access rules on our database mean each user can only reach their own data.
Your sign-in tokens are kept in the iPhone Keychain.
When you delete your account, we revoke Graycouch’s Sign in with Apple tokens.
Google sign-in uses PKCE, a standard protection for app sign-in.
Passwords for email sign-in are stored hashed by Supabase Auth.
No service is completely secure. If a personal data breach happens, we will notify Malaysia’s Personal Data Protection Commissioner and affected users where the PDPA requires it (s.12B), and any other authority where the law that applies requires it.
10. Your rights
Everyone. Wherever you live, you can email hello@graycouch.app to:
ask for access to, and a copy of, your personal data
ask us to correct it
ask us to delete it
ask us to limit how we use it, or object to how we use it
ask for your data in a format you can take to another service
withdraw any consent you have given (this doesn’t affect what we did before)
We may need to confirm who you are. We won’t treat you differently for using your rights. You can also complain to the data protection authority where you live.
Malaysia (PDPA). You can ask for access to your personal data (s.30; we reply within 21 days, or tell you within that time why we need up to 14 more days, s.31), ask us to correct it (s.34), withdraw consent (s.38), ask us to stop processing likely to cause damage or distress (s.42), ask us not to use it for direct marketing (s.43; we don’t send marketing), and ask us to send your data to another data controller where technically feasible and the format is compatible (s.43A). You can complain to the Personal Data Protection Commissioner (pdp.gov.my).
California. Graycouch doesn’t currently meet the thresholds that make the California Consumer Privacy Act apply. If you live in California, you can still use the rights under “Everyone” above, and we don’t sell or share personal information as the CCPA defines those terms.
11. Children
You must be at least 13 to use Graycouch, wherever you live. Graycouch is not directed at children under 13, and we don’t knowingly collect personal data from them. If we learn that someone under 13 has an account, we will delete it and its data. If you think a child has given us data, email hello@graycouch.app.
We rely on our contract with you, not on consent, to run Graycouch. If you’re under the age of majority where you live, please use Graycouch with a parent’s or guardian’s permission.
12. Changes to this policy
We may update this policy, for example when we add features or providers. We will change the dates at the top. For material changes, we will give you 30 days’ notice in the app or by email before they take effect, and ask for consent again where the law requires it.
13. Language
This policy is available in English and Bahasa Melayu. The Bahasa Melayu version is at https://graycouch.app/privacy-ms. Both versions say the same thing; if you notice a difference, email us at hello@graycouch.app.
14. Contact
Teak Yhean Lai (individual developer), Graycouch, Malaysia
hello@graycouch.app, also linked from the legal pages on our website. There is no in-app contact form.