Scoped on every query
Every database read and write is filtered on the organisation attached to your session, which itself resolves only through a membership you actually hold.
Connecting an SEO tool to your search accounts is a real decision. Here is exactly what MrKeyword asks for, how it stores it, and where the boundaries are — including the places we will not overclaim.
These are the exact OAuth scopes MrKeyword requests. Nothing else is asked for, and nothing beyond these can be used.
| Connection | Scope | What it allows |
|---|---|---|
| Google Search Console | webmasters.readonly | Read performance data and the list of properties you have verified. It cannot change a property, submit a sitemap or alter your site. |
| Bing Webmaster Tools | Webmaster.read | Read query, page and crawl data for your verified Bing sites. |
| Google Analytics (optional) | analytics.readonly | Read analytics data only, and only if you choose to connect it. |
| Google sign-in (optional) | openid email profile | Confirm who you are when you sign in with Google. No access to any Google service data. |
| Google Keyword Planner (optional) | adwords | Fetch keyword demand from the Keyword Planner API. Google does not publish a read-only variant of this scope, so we will not describe it as one — connect it only if you want Keyword Planner data. |
APP_ENCRYPTION_KEY. A token that cannot be decrypted is never used: the connection is marked as needing to be reconnected.HttpOnly, SameSite=Lax and — on any HTTPS deployment — Secure, with a 14-day lifetime.Every database read and write is filtered on the organisation attached to your session, which itself resolves only through a membership you actually hold.
A site, crawl or report belonging to another workspace returns a 404 — the same answer as one that does not exist — so nothing is leaked by the error message.
Owner, admin, member and viewer. Write routes declare which roles may call them; a viewer attempting a change is refused.
An MCP token is read-only and bound to a single workspace, and can be revoked at any time from Settings.
default-src 'self'; connect-src 'self'; style-src 'self'; script-src 'self'; base-uri 'self'; frame-ancestors 'none'; form-action 'self'. There is no unsafe-inline, no inline script, and no third-party script or font origin anywhere in the product or on this website.X-Content-Type-Options: nosniff, X-Frame-Options: DENY, Referrer-Policy: strict-origin-when-cross-origin and a Permissions-Policy that switches off camera, microphone and geolocation. Every JSON response is sent no-store.x-csrf-token header, checked against the session, on top of a SameSite=Lax cookie.Security pages are where SaaS marketing tends to drift. So, plainly:
If you believe you have found a security issue, contact us with enough detail to reproduce it and please give us a reasonable window to fix it before disclosing it publicly. We will confirm receipt by email.
Connect a property, see your own data, and disconnect whenever you like. Free to start.