Privacy Policy
Effective 30 October 2026. Applies to Monthly Product Forecast (“the app”), including its website and Google integrations.
1. Who we are
Monthly Product Forecast is a private, password-protected research tool used by its owner to plan women's fashion product listings. Contact: support@elilyboutique.com.
2. Google user data the app accesses
When the account owner connects a Google account (Google OAuth), the app requests one permission: the Google Ads API scope
https://www.googleapis.com/auth/adwords. It uses that access only for the read-only requests below.
| Google Ads API request | Data received | Purpose |
|---|---|---|
| KeywordPlanIdeaService · GenerateKeywordHistoricalMetrics | Monthly search volumes and competition level for fashion keywords, by country | Show search history and calculate seasonal forecasts |
| KeywordPlanIdeaService · GenerateKeywordIdeas | Related keyword ideas with the same metrics | Discover additional fashion styles to research |
| GoogleAdsService · Search | The Google Ads account ID, name, and whether it is a manager or test account | Confirm the connection works |
The app does not read campaigns, ads, audiences, conversion data, billing, invoices or payment details, and it never creates, edits or deletes anything in Google Ads. Keyword Planner metrics are aggregate search statistics, not information about individual people.
If the optional Google Trends feature is enabled, the app also uses the BigQuery scope https://www.googleapis.com/auth/bigquery
solely to query Google's public Google Trends dataset. No private BigQuery data is read.
3. How the data is used
- To display search history and calculate forecasts, peak months, confidence levels and listing dates inside the app.
- Nothing else. Google user data is not used for advertising, is not sold, is not used to build user profiles, and is not used to train generalised artificial intelligence or machine-learning models.
4. How authentication tokens are stored and protected
- Refresh token (the long-lived permission Google issues at sign-in) is stored only as an encrypted secret on the hosting platform (Fly.io), where it is available to the app's server as an environment variable, and in a configuration file on the owner's computer that only the owner's user account can read. It is never stored in the database, never sent to the browser, never written to logs and never included in source code.
- Access tokens (short-lived, about one hour) are kept only in the server's memory and discarded when they expire or the server stops.
- All traffic to the app uses HTTPS. Requests to Google go directly from the app's server to Google over HTTPS.
- The app itself is protected by a password. Sessions use a signed, HttpOnly, Secure cookie, and repeated failed sign-in attempts are blocked.
5. Storage and retention
- Keyword metrics received from Google are cached in the app's database on an encrypted storage volume (Fly.io, London region) so forecasts can be calculated without repeating requests. Cached data is refreshed periodically and kept until it is deleted.
- The hosting platform keeps daily snapshots of that volume for 14 days for disaster recovery.
- The owner can delete stored Google data at any time from the app's Data Sources page. Deleted data disappears from snapshots within 14 days.
6. Sharing
Google user data is not shared with, sold to, or transferred to any third party, and it is not sent to any other application. The only service providers involved are Google (which supplies the data) and Fly.io (which hosts the app and its encrypted storage). If this ever changes, this policy will be updated first and the change will comply with the Limited Use requirements.
7. Other information
- Cookies: one session cookie to keep the owner signed in. No analytics, advertising or tracking cookies.
- Server logs: the hosting platform records standard request logs (such as IP address, time and requested page) for security and operations. Logs never contain tokens or passwords.
8. Revoking access and deleting data
Access can be revoked at any time at myaccount.google.com/permissions. After revocation the stored refresh token stops working and is removed from the app's configuration. To ask for deletion of any data, contact support@elilyboutique.com; requests are completed within 30 days.
9. Changes
Changes to this policy are posted on this page with a new effective date.