SelimReviewer privacy policy
Version: v1.0, 2026-11-05
1. Who we are
Modern Miracle OÜ, registry code 17494745, Tornimäe tn 5, 10145 Tallinn, Harju County, Estonia ("MM", "we"), operates SelimReviewer, a service that drafts, checks and publishes replies to reviews on Google Business Profile for businesses. Privacy contact: hello@modern-miracle.com. Our data protection officer is Sarra-Maryam Fezzani, smf@modern-miracle.com.
This policy covers SelimReviewer only. The Modern Miracle website privacy notice covers visits to the rest of modern-miracle.com.
2. Whose data this policy covers
- people who use a SelimReviewer account on behalf of a business, for example location managers, approvers and administrators;
- people who connect a Google account to SelimReviewer;
- billing, contract and technical contacts of our business customers;
- people who sign up, request access or contact us;
- people who receive email from the service;
- people who wrote a review that a business answers with SelimReviewer (section 11).
3. Google user data
This section states which data SelimReviewer receives from Google, and how it uses, stores, shares, protects and deletes that data.
3.1 Permissions SelimReviewer requests
When a person at a business connects a Google account, Google asks that person to grant two permissions:
| Permission (OAuth scope) | What SelimReviewer does with it |
|---|---|
Manage your Business Profile (https://www.googleapis.com/auth/business.manage) | Lists the Business Profile accounts and locations the Google account can manage. Reads the reviews of the locations the business selects. Reads the account's role on each location, to confirm that the person may act for it. Publishes replies the business approves, and removes a published reply when the business asks. Registers notifications of new reviews for the account. |
See your primary Google account email address (email) | Records who connected the account. Enables Google's Cross-Account Protection security alerts, so that SelimReviewer stops acting for an account that Google reports as compromised or whose access was revoked. |
SelimReviewer does not create, edit or verify Business Profile listings, and does not use posts, photos, or questions and answers. It does not request any other Google permission.
3.2 Data SelimReviewer receives
- Account and location data: account and location names and identifiers, and the role of the connected Google account on each location.
- Reviews: review text, star rating, the reviewer's display name as shown on Google, review identifiers and timestamps, and the reply already published, if any.
- Notifications: messages from Google that a review was added or changed, carrying account, location and review identifiers. SelimReviewer reads only the notification type and the location and review names from each message, and then fetches the review from Google.
- Email address of the connected Google account.
- OAuth tokens that Google issues for the connection.
3.3 How SelimReviewer uses it
SelimReviewer uses Google user data only to provide the features the business sees and uses in the service:
- to show reviews of the selected locations to the business's authorised users;
- to draft a reply to each review with AI models, check the draft, and place it in the business's approval queue;
- to publish a reply that a user approved, or that the business authorised for automatic publishing by express consent for the location;
- to remove a published reply on the business's request;
- to confirm that the connected account may act for each location, and to stop when it no longer may;
- to secure the connection and investigate misuse.
SelimReviewer does not use Google user data for advertising, does not sell it, does not use it to assess creditworthiness or for lending, and does not use it to develop, improve or train AI or machine-learning models, including generalised models. The AI providers that draft replies are contractually barred from training on it (section 3.5).
3.4 Who reads it
Authorised users of the business read reviews and drafts in the approval queue, which is the purpose of the service. MM staff read review or reply content only:
- with the business's affirmative agreement, for a support request the business raises or, for quality sampling and labelling, only after the business has given an explicit opt-in. The opt-in is off by default, and accepting the terms is not an opt-in;
- where needed for security purposes, such as investigating abuse or an incident;
- where the law requires it.
3.5 Who receives it
| Recipient | Role | What it receives | Where |
|---|---|---|---|
| Microsoft (Microsoft Azure) | Our processor: hosting, database, storage and messaging | All data in section 3.2 | Azure region Sweden Central (EU), inside the Microsoft EU Data Boundary |
| Microsoft (Azure AI Foundry, EU Data Zone deployments of models from Mistral AI, OpenAI and DeepSeek) | Our processor: AI models that classify reviews, draft replies and check drafts | Review text and reply drafts, in prompts | EU Data Zone; no training on inputs |
| Google Cloud (Pub/Sub) | Our processor: delivery of Business Profile notifications | Notification messages with identifiers | EU message storage |
| Cloudflare, Inc. | Our processor: network security and delivery for the app | Data shown to users in the app passes through Cloudflare encrypted to it, and Cloudflare decrypts it to screen it for attacks | Cloudflare data centre that receives the connection, which can be outside the EU/EEA (section 7) |
| The business's own AI model provider (Enterprise plans with bring-your-own-key only) | Model provider the business chooses and contracts with | Review text and reply drafts, in prompts | As recorded for that business in the subprocessor list or its Enterprise order form |
| The platform | Replies the business publishes |
We also disclose data to authorities or courts where the law requires it, and to a successor if the SelimReviewer business is transferred, under the same protections and with the notice the law and Google's policies require. We do not transfer Google user data to anyone else.
3.6 Storage, retention and deletion
- Review and reply content (review text, rating, reviewer display name, identifiers, timestamps, drafts and replies) is stored in the EU for at most 28 days from the time SelimReviewer fetched it, or less where Google's response permits less, and is then deleted. Hashes of review and reply text, risk-flag categories and signals, reviewer scores, the platform review identifier and the reviewer profile reference are deleted at the same time. Encrypted copies in the audit log become unreadable at the same time, because the key that protects them is destroyed.
- Backups of the database expire after 7 days.
- Diagnostic records of prompts and outputs, kept only while a diagnostic mode is on, expire after 7 days and never outlive the review's 28-day limit.
- OAuth tokens are kept in Azure Key Vault until the business disconnects the account, the access is revoked or the contract ends, and are then deleted within seven business days.
- The email address of the connected account is kept while the connection exists and deleted with the tokens.
- After these limits, SelimReviewer keeps only its own records of what it did (for example that a reply was approved by a named user at a given time) that contain no data received from Google.
3.7 Disconnecting and revoking access
A business administrator can disconnect a Google account or a location in the SelimReviewer account settings. A Google account holder can also remove SelimReviewer's access at any time on the Google Account page "Third-party apps and services" (https://myaccount.google.com/connections). When a connection ends, SelimReviewer revokes its Google access, deletes the tokens and removes its notification registration within seven business days, and stops publishing for the affected locations. Review content already stored is deleted at its 28-day limit, or earlier on the business's instruction.
3.8 Protection
Google user data is encrypted in transit and at rest. Review and reply text is stored in encrypted fields under a key per review, and OAuth tokens are held in Azure Key Vault and never in source code. Access to the service requires multi-factor authentication for every customer account, and MM staff access to production data is limited to named people and logged.
3.9 Limited Use
SelimReviewer's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
4. Other data we collect
| Category | Examples | Source |
|---|---|---|
| Identity and contact | Name, business email, role, business name | The user, or the administrator who invites the user |
| Authentication | Sign-in identifiers, multi-factor authentication data, session data | The user, through our identity provider (Microsoft Entra External ID, in an external tenant located in Europe, where Microsoft stores most identity data in Europe) |
| Account activity, for security | Sign-ins and the actions a user takes (approve, edit, reject, change settings, activate the kill switch), with timestamps | Generated when the service is used |
| Consent copy | User identifier, consent text version, time, locations and autonomy level covered | The user, when giving consent for automatic replies on behalf of the business |
| Billing | Company details, VAT number, billing contact, payment status. Stripe collects card data; we do not receive full card numbers | The customer and Stripe |
| Communications | Support requests and our replies, email delivery status | The sender and our email provider |
| Technical | IP address, browser and device information, logs | Generated when the service is used |
5. Why we use it and our legal basis
| Purpose | Legal basis (GDPR) |
|---|---|
| Provide the service to the business: accounts, access, roles, notifications | Art. 6(1)(f), our and the business's legitimate interest in performing the contract; Art. 6(1)(b) where the user is the contracting party |
| Keep a copy of consent records for automatic replies, which Google's policies require | Art. 6(1)(f), showing compliance with platform policies and defending claims |
| Secure the service, detect misuse, investigate incidents | Art. 6(1)(f) |
| Bill, invoice and keep accounting records | Art. 6(1)(b) or (f) as above; Art. 6(1)(c) for records the law requires |
| Send service and safety messages (security, billing, changes to terms and subprocessors). These are always sent, whatever the person's marketing choice | Art. 6(1)(f) |
| Send product news to business contacts who opted in. No marketing email is sent without an explicit opt-in | Art. 6(1)(a), consent, which can be withdrawn through the link in each email |
| Answer support requests | Art. 6(1)(f) |
For personal data in reviews and replies, the business that uses SelimReviewer is the controller and MM processes it on the business's behalf under a data processing agreement. Section 3 describes that processing for Google's purposes. Where we rely on legitimate interests, a data subject can ask us for details of the balancing test.
6. Who receives other data
- Our processors: Microsoft (hosting in an Azure EU region, identity), Cloudflare (network security and delivery), Stripe (payments) and Microsoft Azure Communication Services Email (service email). The current list with locations is in Subprocessors below.
- Stripe as independent controller for its own fraud prevention and legal obligations, under Stripe's privacy notice.
- Administrators of the business account, who can see a user's activity in it.
- Authorities, courts and advisers where the law requires or to establish or defend legal claims.
Subprocessors (as of 2026-11-04)
MM uses the following subprocessors for SelimReviewer. MM gives business customers at least 30 days' notice of a new or replaced subprocessor, and a customer may object as the data processing agreement provides (terms clause 9.4).
| Subprocessor | Service | Data | Location | Transfer basis |
|---|---|---|---|---|
| Microsoft (Microsoft Azure) | Hosting, database, storage, messaging, key management, identity (Microsoft Entra External ID) and service email (Azure Communication Services Email) | All SelimReviewer data in sections 3.2 and 4 | Azure region Sweden Central (EU), inside the Microsoft EU Data Boundary; Entra External ID tenant located in Europe | Processing in the EU; limited transfers that Microsoft documents for the EU Data Boundary |
| Microsoft (Azure AI Foundry, EU Data Zone) | AI models from Mistral AI, OpenAI and DeepSeek that classify reviews, draft replies and check drafts | Review text and reply drafts, in prompts | EU Data Zone | Processing in the EU; no training on inputs |
| Cloudflare, Inc. | Network security and delivery for the app | Data passing between users and the app, which Cloudflare decrypts to screen for attacks | The Cloudflare data centre that receives the connection, which can be outside the EU/EEA | EU-US Data Privacy Framework; standard contractual clauses |
| Stripe | Payments | Billing data; Stripe collects card data | EU and United States | EU-US Data Privacy Framework or standard contractual clauses |
| Google (Google Cloud Pub/Sub) | Delivery of Business Profile notifications | Notification messages with identifiers | EU message storage | Processing in the EU |
Google, through Google Business Profile, is the source of the reviews and the recipient of the replies a business publishes. It acts under its own terms with the business and is not MM's subprocessor. On Enterprise plans with bring-your-own-key, the business's own model provider is recorded for that business in its Enterprise order form.
7. Transfers outside the EU/EEA
We store and process SelimReviewer data in an Azure EU region. Microsoft stores and processes data of its EU Data Boundary services in the EU/EFTA, with limited transfers that Microsoft documents. Every connection to the app passes through Cloudflare, a US company, which decrypts it to screen it for attacks and forwards it to our servers, at the Cloudflare data centre that receives the connection. That data centre can be outside the EU/EEA. Stripe can transfer data to the United States. Cloudflare, Inc. is certified under the EU-US Data Privacy Framework. Such transfers rely on the EU-US Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795) for certified recipients, or on the European Commission's standard contractual clauses. A data subject can ask us for a copy of the relevant safeguards.
8. How long we keep other data
| Data | Retention |
|---|---|
| Identity and authentication data | 30 days after the user is removed from the account, or after the account's exit periods end |
| Our copy of consent records | 3 years after the last automatic reply the consent covered |
| Records of requests we forwarded to a business | 3 years after the request is closed |
| Invoices and accounting records | 7 years from the end of the financial year, as the Estonian Accounting Act requires, plus at most 12 months |
| Billing contact data not in invoices | 30 days after the account's exit periods end |
| Support communications | 24 months after the request is closed |
| Security logs | 90 days, or longer under a documented legal hold for a named incident, claim or authority request |
| Telemetry | 30 days |
| Service-email delivery records | 90 days |
| Marketing contact data | Until the person withdraws consent (we then keep only a suppression entry), or 24 months after our last contact |
9. Rights
Under the GDPR, a data subject has the right to access their data, to have it corrected or erased, to restrict its processing, to data portability, and to object to processing based on legitimate interests, including at any time to direct marketing. Where we rely on consent, it can be withdrawn at any time without affecting earlier processing. Requests go to hello@modern-miracle.com. We answer within one month, which we can extend in the cases the GDPR allows.
Some data in a business account belongs to the business's records: a user's role, approvals and edits, the business's consent and authority records, and its audit log. The business is the controller of those records and decides requests about them. If such a request reaches us, we forward it to the business within two business days.
Every data subject has the right to lodge a complaint with a supervisory authority, in particular in the EU country where they live or work or where an infringement took place. Our lead authority is the Estonian Data Protection Inspectorate (Andmekaitse Inspektsioon), https://www.aki.ee/en.
10. Automated decisions
We do not make decisions about account users based solely on automated processing that have legal or similarly significant effects on them. Stripe can use automated fraud screening for payments, as described in Stripe's own privacy notice.
11. People who wrote a review
If a business uses SelimReviewer to answer reviews, the business decides how the review is processed and is responsible for that processing. We process the review and the reply on the business's behalf and keep review text for at most 28 days (section 3.6). Reviewers can contact the business to exercise their rights. If a reviewer contacts us, we forward the request to the business within two business days and, where the reviewer objects, we pause processing of the matching review until the business decides.
12. Changes
We update this policy when our processing changes, and show the date of the current version at the top. We notify business customers of material changes in the account and by email.
13. Contact
Modern Miracle OÜ, Tornimäe tn 5, 10145 Tallinn, Harju County, Estonia. Privacy: hello@modern-miracle.com. Support: hello@modern-miracle.com.