Documentation

CloudNest
Documentation

Everything you need to set up and use CloudNest — a client-side Google Drive dashboard that runs entirely in your browser. No servers, no backend, no data leaves your machine.

01

Getting Started

CloudNest is a free, open-source Google Drive dashboard that runs entirely in your browser. It connects to one or more Google Drive accounts via OAuth and lets you browse, upload, share, and manage files — all without any backend server.

The app is hosted on GitHub Pages as a static site. Your Google credentials and tokens stay in your browser and are never sent to any third-party server.

Prerequisites

Google AccountModern Browser (Chrome, Firefox, Edge, Safari)

That's it. No installations, no command-line tools, no server setup required.

NoteCloudNest is a client-side-only application. All API calls to Google Drive happen directly from your browser. Nothing is proxied through a server.
02

Setup Guide

Before you can use CloudNest, you need to create a Google Cloud project with OAuth credentials. This is a one-time setup that takes about 5 minutes. The in-app setup wizard walks you through the same steps below.

A

Create a Google Cloud Project

  1. 1Go to console.cloud.google.com and sign in with your Google account.
  2. 2Click the project dropdown at the top of the page and select New Project.
  3. 3Give it any name (e.g., "CloudNest") and click Create.
  4. 4Make sure the new project is selected in the project dropdown.
B

Enable the Google Drive API

  1. 1Navigate to APIs & Services → Library.
  2. 2Search for "Google Drive API".
  3. 3Click on it and press Enable.
C

Configure OAuth Consent Screen

  1. 1Go to APIs & Services → OAuth consent screen.
  2. 2Choose External as the user type and click Create.
  3. 3Fill in the required fields: app name, user support email, and developer contact email.
  4. 4On the Scopes step, click Add or Remove Scopes and add the https://www.googleapis.com/auth/drive scope.
  5. 5On the Test users step, add every Google account email you want to connect to CloudNest. Click Add Users and enter one email per line. For example, if you have alice@gmail.com, bob@gmail.com, and work@company.com, add all three.
  6. 6Click Save and Continue through the remaining steps.
ImportantWhile the app is in "Testing" status, only the test users you add can sign in. You can add up to 100 test users. To remove this limit, you would need to submit the app for Google verification.
TipPlanning to pool storage from multiple Gmail accounts? Add all of them as test users now. You can always come back and add more later at console.cloud.google.com.
D

Create an OAuth Client ID

  1. 1Go to APIs & Services → Credentials.
  2. 2Click Create Credentials → OAuth client ID.
  3. 3Select Web application as the application type.
  4. 4Under Authorized JavaScript origins, add: https://encryptioner.github.io
  5. 5Click Create. Copy the Client ID shown in the dialog.
TipYou only need the Client ID (ends in .apps.googleusercontent.com). The Client Secret is not needed since CloudNest uses the OAuth implicit flow in the browser.
E

Enter Client ID in CloudNest

  1. 1Open CloudNest in your browser. The setup wizard will appear on your first visit.
  2. 2Paste the Client ID you copied in the previous step into the input field.
  3. 3Click Save. The Client ID is stored in your browser's local storage.
F

Connect Your Google Account

  1. 1Click Connect Google Account to start the OAuth flow.
  2. 2Google will show the account chooser — select the account you want to connect. Make sure this account is added as a test user in your OAuth consent screen (Step C).
  3. 3You will see a "Google hasn't verified this app" warning screen. This is expected — see the detailed walkthrough below.
  4. 4On the permissions screen, Google will ask you to grant access to "See, edit, create, and delete all of your Google Drive files." Click Continue to approve.
  5. 5You'll be redirected back to CloudNest with full access to your Drive files.

"Google hasn't verified this app" — What to do

Since you created this Google Cloud project yourself, it's in "Testing" mode. Google shows this warning for all unverified apps — it does not mean the app is unsafe. This is your own project, running in your own browser, with credentials you created. It's completely safe to proceed.

1

Warning Screen

You'll see "Google hasn't verified this app" with two options. Do NOT click "Back to safety" — that cancels the connection. Instead, click the small "Advanced" link at the bottom left of the dialog.

2

Advanced Options

After clicking "Advanced", additional text appears at the bottom. Click "Go to [your app name] (unsafe)". The "unsafe" label is Google's default wording for all unverified apps — it's not a reflection of your app's safety.

3

Grant Permissions

Google will show the permissions CloudNest needs: access to your Google Drive files. Click "Continue" to approve. This grants CloudNest (running in your browser) permission to manage your Drive files.

TipThis warning only appears because your Google Cloud project hasn't been submitted for Google verification — a process designed for apps serving thousands of users. For personal use, "Testing" mode is perfectly fine. You'll see this warning each time you connect a new account or re-authenticate.

Adding Multiple Accounts

CloudNest's core feature is pooling storage from multiple Google accounts. Here's how to add more:

  1. 1Add as test user first: Before connecting a new account, go to your OAuth consent screen Test usersAdd Users and add the email address.
  2. 2Connect from CloudNest: In the setup wizard, click "Add Another Account". Or, after setup, go to Dashboard → Accounts or Dashboard → Settings and click "Connect Account".
  3. 3Same flow each time: You'll go through the same Google sign-in process (account chooser → unverified warning → Advanced → Continue → grant permissions) for each account.
  4. 4Storage pools automatically: Each free Google account adds 15 GB. Connect 3 accounts and you get 45 GB of unified storage. Google Workspace accounts may contribute more depending on your plan.
03

Using CloudNest

Once connected, CloudNest gives you a unified view of all your Google Drive accounts. Here's what you can do:

File Browsing
  • Navigate folders with breadcrumb trail
  • Grid and list view toggle
  • Sort by name, date, or size
  • Search across all accounts
  • Preview files with thumbnails
Upload & Organize
  • Drag-and-drop file upload
  • Upload to specific folders
  • Create new folders
  • Rename and move files
  • Automatic account routing by free space
Sharing
  • View files shared with you
  • Navigate into shared folders
  • Share files with others
  • Manage sharing permissions
  • Download shared files directly
Trash
  • View trashed files across all accounts
  • Restore files back to Drive
  • Permanently delete files
  • Search and sort trash items
Analytics
  • Storage usage per account
  • File type distribution charts
  • Upload activity over time
  • Storage breakdown by file type
Settings
  • Total storage pool summary
  • Per-account quota bars
  • Connect or disconnect accounts
  • Profile customization
04

How It Works

CloudNest is a fully client-side application built with Next.js and hosted as a static site on GitHub Pages. There is no backend server — every interaction with Google Drive happens directly from your browser using the Google Drive API.

Authentication

OAuth 2.0 implicit flow. Your browser obtains an access token directly from Google. The token is stored in browser memory/storage and never sent to any third-party server.

Storage Model

Your OAuth Client ID and app preferences are stored in the browser's localStorage. Access tokens are kept in session storage and cleared when you close the tab.

API Calls

All Google Drive API requests are made directly from your browser to Google's servers. CloudNest acts as a UI layer — no proxy, no middleware, no data relay.

ImportantAccess tokens expire after approximately 1 hour. When a token expires, CloudNest will prompt you to re-authenticate. This is a Google security measure and cannot be extended for client-side apps.

Privacy Guarantees

  • No server-side storageYour files, tokens, and credentials never touch any server other than Google's own APIs
  • No analytics or trackingCloudNest does not collect any usage data or telemetry
  • Open sourceThe entire codebase is publicly auditable on GitHub
  • Statically hostedThe app is a set of static files served via GitHub Pages — there is no server to intercept data
05

FAQ

Is my data safe?

Yes. CloudNest is a client-side application — your files and credentials never leave your browser. All API calls go directly from your browser to Google. The source code is fully open and auditable.

How many accounts can I connect?

There is no hard limit in CloudNest. However, while your Google Cloud project is in "Testing" mode, you can add up to 100 test users on the OAuth consent screen. Each connected account adds its full 15 GB free quota to the pool. To add a new account: first add its email as a test user in the Google Cloud Console, then click "Connect Account" in CloudNest's Accounts or Settings page.

Why does Google say "This app isn't verified"?

This is normal and expected. Your Google Cloud project is in "Testing" mode, which is Google's default for new projects. Google only "verifies" apps that serve thousands of users. Since this is your own personal project running in your own browser, it's completely safe. Click "Advanced" → "Go to [app name] (unsafe)" → "Continue" to proceed. You'll see this each time you connect a new account.

Why does my session expire after about an hour?

Google's OAuth access tokens for client-side apps are valid for approximately 1 hour. This is a security measure enforced by Google and cannot be changed. Simply re-authenticate when prompted.

Do I need to install anything?

No. CloudNest runs entirely in your browser. You just need a Google account and a modern web browser. The one-time setup involves creating a Google Cloud project to get OAuth credentials.

Can I use this with a Google Workspace account?

Yes. Add the Workspace email as a test user on the OAuth consent screen and connect it like any other Google account. Workspace accounts may have different storage quotas depending on your plan.

What happens if I clear my browser data?

Your stored Client ID and preferences will be removed. You will need to re-enter your Client ID and reconnect your accounts. Your actual files in Google Drive are not affected.

Is there a file size limit for uploads?

CloudNest uses the Google Drive API for uploads, which supports files up to 5 TB. However, browser-based uploads may be slower for very large files. Your available Drive storage quota also applies.

Can I self-host CloudNest?

Yes. Fork the repository, build the static site, and host it anywhere that serves static files. Update the Authorized JavaScript origins in your Google Cloud Console to match your hosting domain.

06

Troubleshooting

!"Error 400: redirect_uri_mismatch" during sign-in

The Authorized JavaScript origins in your Google Cloud Console do not include the domain CloudNest is running on. Go to APIs & Services → Credentials, edit your OAuth Client ID, and add https://encryptioner.github.io as an authorized origin. If self-hosting, add your own domain instead.

!"This app isn't verified" warning

This is normal and expected for apps in Testing mode. Do NOT click "Back to safety" — that cancels the connection. Instead: (1) Click "Advanced" at the bottom left, (2) Click "Go to [your app name] (unsafe)", (3) Click "Continue" to grant permissions. The "unsafe" label is Google's default wording for all unverified apps. Since this is your own Google Cloud project, it's completely safe. Only accounts added as test users in the OAuth consent screen can sign in.

!"Access blocked: This app's request is invalid" error

This usually means the Google Drive API is not enabled for your project. Go to APIs & Services → Library, search for "Google Drive API", and click Enable.

!Google Drive API rate limit errors (403)

Google enforces rate limits on Drive API calls. If you see 403 errors, wait a few minutes and try again. Avoid rapid-fire operations like bulk deleting hundreds of files at once.

!"Storage quota exceeded" on upload

The target Google Drive account is full. Connect another Google account with available storage, or free up space by deleting files and emptying the trash in the original account.

!Can't connect a second Google account

Make sure the email address is added as a test user in your Google Cloud Console (APIs & Services → OAuth consent screen → Test users → Add Users). Only emails listed as test users can sign in while the project is in Testing mode. After adding the email, try connecting again from CloudNest.

!Files not showing after connecting account

Give it a moment for the initial file list to load. If files still do not appear, try disconnecting and reconnecting the account. Make sure the Google Drive API scope was properly approved during OAuth consent.

!Session keeps expiring too quickly

Access tokens last approximately 1 hour. This is a Google-enforced limit for client-side OAuth apps and cannot be extended. Browser extensions that aggressively clear cookies or storage may also cause premature session loss.

Ready to get started?

Open the dashboard and connect your Google Drive accounts.

CloudNest is free and open source. View on GitHub · Portfolio