JUNOHUB-test/Documents/REMOVE_OAUTH_WARNING.md
root 284fb12576 Set up JUNOHUB app and EC2 deployment
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 20:12:52 +05:00

4.8 KiB

How to Remove "Google hasn't verified this app" Warning

Quick Answer

The warning appears because your app requests Gmail scopes which are sensitive/restricted and require Google verification. You have 3 options:

Option 1: Keep in Testing Mode (Easiest - For Development)

Best for: Development, testing, or apps with fewer than 100 users

Steps:

  1. Go to Google Cloud Console > OAuth consent screen
  2. Click "Back to testing" button (if your app is currently "In production")
  3. Add all Gmail addresses as test users:
    • Scroll to "Test users" section
    • Click "+ ADD USERS"
    • Add each Gmail address (one per line)
    • Click "Add"
  4. Save changes

Result:

  • ✅ Test users won't see the warning
  • ✅ Can connect Gmail without verification
  • ❌ Limited to 100 test users
  • ❌ Must manually add each user

Option 2: Get Google Verification (For Production)

Best for: Production apps that need to scale beyond 100 users

Prerequisites:

Before starting verification, you need:

  1. Privacy Policy (Required)

    • Must be publicly accessible URL
    • Must explain how you use Gmail data
    • Example: https://yourdomain.com/privacy-policy
  2. Terms of Service (Required)

    • Must be publicly accessible URL
    • Example: https://yourdomain.com/terms
  3. App Homepage (Required)

    • Your app's main website URL
    • Example: https://yourdomain.com
  4. Authorized Domains

    • Add your production domain
    • Example: yourdomain.com

Verification Steps:

  1. Go to Verification Center:

  2. Start Verification:

    • Click "Start Verification" or "Submit for verification"
    • Fill out the verification form
  3. Complete Verification Form:

    • App name: Your app name (e.g., "JunoHub")
    • Support email: Your support email address
    • App domain: Your production domain
    • Authorized domains: Add your domain
    • Scopes: Gmail scopes will be automatically listed
    • Privacy Policy URL: Your privacy policy URL
    • Terms of Service URL: Your terms of service URL
    • App homepage: Your app's homepage URL
    • App logo: Optional but recommended
  4. Additional Information (may be requested):

    • Video demonstration: Show how your app uses Gmail
    • Use case explanation: Why you need Gmail access
    • Data handling: How you store/process Gmail data
  5. Submit for Review:

    • Review all information
    • Submit the form
    • Google will review (typically 4-6 weeks)

After Verification:

  • ✅ Warning disappears for ALL users
  • ✅ No user limit
  • ✅ Can request sensitive/restricted scopes
  • ✅ Professional appearance

Option 3: Use Domain-Wide Delegation (Advanced - For Google Workspace)

Best for: Google Workspace organizations only

If you're using Google Workspace, you can use domain-wide delegation instead of OAuth, but this requires admin access and is more complex.


Current Status Check

Based on your Google Cloud Console screenshot:

  • ✅ App is "In production"
  • ✅ User type is "External"
  • ⚠️ OAuth user cap: 0/100 users
  • ⚠️ Warning appears because Gmail scopes are unapproved

For now (Development/Testing):

  1. Click "Back to testing" in OAuth consent screen
  2. Add test users (your vendors' Gmail addresses)
  3. Test users won't see the warning

For later (Production):

  1. Create Privacy Policy and Terms of Service pages
  2. Submit app for Google verification
  3. Wait for approval (4-6 weeks)
  4. Warning will disappear automatically

Privacy Policy Template (Gmail Data Usage)

Your Privacy Policy must mention Gmail data usage. Example section:

## Gmail Integration

When you connect your Gmail account to [Your App Name], we access:
- Read emails: To sync customer emails and create support tickets
- Send emails: To send automated responses and notifications
- Modify emails: To manage email threads and mark emails as read

We store:
- OAuth tokens (encrypted) for Gmail API access
- Email addresses for account identification

We do NOT:
- Store email content permanently
- Share your emails with third parties
- Access emails outside of the app's functionality

You can revoke access at any time by disconnecting Gmail in your account settings.

Need Help?