Salesforce Files, moved straight to Google Drive, browser to Drive, directly.
An admin needs to add MigrateStream's origin to the org's CORS allowlist, and install the Connected App - both one-time, org-wide steps. See Set Up MigrateStream for the exact click paths and what the errors look like if either is skipped.
A signed key your Satrang Technologies contact provides, verified entirely inside your own browser - it is never sent anywhere to be checked. Nothing else is usable until this passes.
A standard OAuth login redirect to Salesforce's own login page. We never see your password.
A popup opens Google's own consent screen, requesting only the drive.file scope - access to files this app creates or that you pick, nothing else in your Drive.
Pick a scope (all files, or by object, with live counts), optionally narrow it with your own SOQL filter, and refine the exact file list if needed. Choose a destination folder via Google's own folder picker.
Instead of one flat destination folder, MigrateStream can create one subfolder per linked record - for example, one subfolder per Account, named by whichever field you choose. Files with no matching parent record land in a shared "Unfiled" subfolder instead of being skipped.
For each file: your browser downloads the file bytes directly from Salesforce, then uploads those same bytes directly to Google Drive. The bytes pass through your browser's memory only - never through any Satrang server.
Every uploaded file is tagged in Google Drive itself (not on any server we run), so re-running a migration - to pick up new files, or resume after stopping partway - automatically skips files already migrated there, matched by the file's own identity rather than its name.
A CSV report of everything migrated, skipped, or failed, built entirely from what your browser observed during the run - nothing is reconstructed from server-side logs, because there are none.
Because file content never passes through a server we control, there is nothing on our side to secure, retain, or accidentally leak - your files simply never arrive here. The same is true of your Salesforce and Google access tokens: they exist only in your browser tab's memory for the duration of your session, and disappear the moment you close it.
Your license key follows the same principle: it is a cryptographically signed piece of text, not a login and not a record on any Satrang system - your browser checks it itself, against a public key, the moment you paste it in. It can be scoped to your specific Salesforce org(s) and Google account(s), and its data-cap usage is measured from the migration records already sitting in your own Drive and your own browser. Licences issued from August 2026 onward count only the files migrated under that licence; older ones count everything ever migrated into the destination Google account. Either way, there is no account of yours living on our servers to check it against, and no ledger of yours here either.
Want the full technical detail, including exactly what the two OAuth handshakes do and why? See the Architecture Deep Dive.