Why verify
Every self-service app starts as an Unverified app. Sign-in works the same either way; verification changes what your users see and what data you can ask for.
| Unverified app | Verified app |
|---|---|
| Labelled Unverified app on the consent screen, in the developer console and in emails | No label; the verified badge (a tick) appears next to your app's name |
| Account id, name and email; country and timezone if enabled | The same, plus the profile picture (picture scope) if you enable it |
Where to start
Open the developer console, pick your app and go to the Verification tab. It lists every step with its own status, and the overall status of your request:
Requirements before you can submit
- App name and logo set, and both match your website and brand. An app whose name or logo does not match its website, or that imitates Corenexis or another brand, will be rejected.
- Homepage URL, privacy policy URL and terms of service URL all set and live.
- A use case of 50 to 2000 characters: what your app does with Corenexis sign-in, and why it needs each data item it asks for.
- Domain ownership verified with a DNS TXT record (Step 1).
- A demo video link (Step 2).
The same-domain rule
Your homepage, privacy policy, terms of service and every https redirect URI must be on the
same registrable domain. Subdomains are fine:
| URL | Counts as |
|---|---|
https://app.example.com (homepage) | example.com |
https://example.com/privacy (privacy policy) | example.com |
https://auth.example.com/callback (redirect URI) | example.com |
http://127.0.0.1:8080/callback, com.example.app://auth/callback | Not domain-checked (loopback and native app schemes) |
- Use your own domain. Apps on shared hosting domains, for example
vercel.app,netlify.app,pages.dev,github.io,herokuapp.com,web.apporfirebaseapp.com, cannot be verified. - https only. IP addresses and
localhostare not accepted for the homepage, privacy policy or terms URLs.
Step 1: Domain ownership (DNS TXT)
The console generates a random token for your app and shows the exact record to add at your DNS provider:
Name: _corenexis.example.com
Type: TXT
Value: corenexis-verification=<32 lowercase hex characters from the console>
TTL: 300 (or Auto)
| Field | Value |
|---|---|
| Name | _corenexis.<your domain>, always on the registrable domain, even if the app lives on a subdomain. App on example.com: _corenexis.example.com. App on app.example.com: still _corenexis.example.com. Many DNS providers want only the host part, _corenexis. |
| Type | TXT |
| Value | corenexis-verification=<token>; the token is 32 lowercase hex characters. |
| TTL | Any value, for example 300 or Auto. |
Then press Check. We look the record up over DNS. A new record can take from a few minutes up to 48 hours to propagate. Checks are rate limited, about 20 per 10 minutes per account, so confirm the record is visible before pressing Check again:
# macOS, Linux
dig TXT _corenexis.example.com +short
# Windows
nslookup -type=TXT _corenexis.example.com
Step 2: Demo video
Add a link (https) to a video on YouTube (unlisted is fine), Vimeo, Loom, Google Drive or another
video-sharing site. It must open without signing in and be at most 5 minutes long. The video must show:
- Your app's sign-in page with the Sign in with Corenexis button.
- The full Corenexis sign-in and the consent screen, with the browser address bar visible.
- Returning to your app, signed in.
- Where and how each requested data item is used in your app.
Optional: a demo login for the reviewer
You can add the username and password of a test user so the reviewer can try your app. It is stored encrypted, visible only to the Corenexis reviewer, and deleted as soon as a decision is made. Providing one improves your chances of approval.
Step 3: Submit for review
The Submit for review button is enabled only when every requirement above is met. You can submit at most 5 times per day per account.
- Timeline: most reviews finish within 3 to 5 business days.
- Decision: you get an email from Corenexis when the decision is made, and the Verification tab shows the result.
- Changes while in review: withdraw the submission, make your changes, then submit again.
Common reasons for rejection
- The app name or logo does not match the website or brand, or imitates Corenexis or another brand.
- The privacy policy is missing, generic, or does not say how Corenexis account data is used.
- The homepage, policy, terms or redirect URLs are on different domains.
- The TXT record was removed or not found at the re-check.
- The video is missing, private, longer than 5 minutes, or does not show the sign-in, the consent screen or how the data is used.
- The use case is vague or does not match the app.
- The app is not live, or the demo login does not work.
- The app requests data it does not need.
How to resubmit
The rejection email and the Verification tab both show the reason. Fix it, update the app, then press Resubmit for review.
Keeping verified status
The verified status is removed automatically, and the app must be verified again, if you:
- change the homepage, privacy policy or terms URL to a different registrable domain;
- add an
httpsredirect URI on a different registrable domain; - change the app name or logo.
avatar_url as optional in your code so this never breaks your app.
Help
Questions about verification or a decision? Visit help.corenexis.com. For the integration itself, see the Sign in with Corenexis docs.
Open your app's Verification tab, follow the steps in order, and submit when every requirement is ticked.
Open the developer console