SquirrelDeck Privacy Policy
Last updated: August 25, 2026
Most SquirrelDeck scripts, schedules, interface data, and local screenshot/recording functions are processed in the user's browser. Users may also explicitly enable Google Drive settings sync or cloud capture in their own GitHub repository and GitHub Actions account. SquirrelDeck does not sell user data.
Data processing principles
SquirrelDeck supports user-configured web automation, reminders, interfaces, and media tasks. Google Drive synchronization and GitHub cloud capture are optional and run only after the user explicitly connects the relevant account and enables the feature.
Local data
Script code, names, URL rules, cross-domain allowlists, resident/independent UI definitions, reminders, schedules, media tasks, execution records, and interface settings are stored locally by default. Background high-quality, foreground-window, and desktop screenshot/recording modes are processed in local Chrome.
Web content and media files
SquirrelDeck processes a specified page or desktop content only after the user starts a screenshot/recording action or explicitly enables a media schedule. Captured content may contain URLs, website content, account information, or personal communications.
Local-mode PNG, JPEG, or WebM output is downloaded through Chrome or stored in the local screenshot clipboard as selected by the user. Screenshot and recording media files are not included in Google Drive settings synchronization.
Optional GitHub cloud screenshots and recordings
After the user selects GitHub cloud mode and completes authorization, SquirrelDeck sends the target URL, scheduled execution time, and capture settings directly to the user's own private GitHub repository and GitHub Actions. SquirrelDeck provides no shared repository, runner, or Actions quota; compute time and artifact storage count against the repository owner's own GitHub account.
GitHub Actions opens the target URL in a fresh Playwright/Chromium browser and does not inherit local Chrome cookies, extensions, or signed-in sessions. Results are stored briefly as private GitHub Actions artifacts in the user's account with workflow retention set to one day. After successful download/import, SquirrelDeck requests deletion of the artifact. Media does not pass through Cloudflare or SquirrelDeck developer servers.
GitHub OAuth credential storage
GitHub sign-in uses the official Device Flow; SquirrelDeck does not ask the user to create or paste a Personal Access Token. The GitHub OAuth access token is encrypted with AES-GCM. Ciphertext/IV and non-secret metadata are stored in the user's own hidden Google Drive appDataFolder, while the decryption key remains only in extension-local storage on the current Chrome device. The decrypted token is kept only for the browser session when GitHub API calls are required.
If the extension is removed, local extension data is cleared, or the user moves to another device, the local decryption key may be lost and GitHub must be reconnected. Disconnecting GitHub cloud mode attempts to delete the encrypted authorization data from Drive and clears the local key; the private repository in the user's GitHub account is not deleted automatically.
Optional Google Drive synchronization and account selection
Google Drive is used only after the user explicitly consents and connects a Google account. General settings sync can use the hidden appDataFolder or a visible SquirrelDeck Backup folder created by SquirrelDeck. Synced settings can include scripts, URL rules, schedules, media tasks, reminders, resident/independent UI definitions, and interface settings.
During connection, SquirrelDeck uses Firebase Authentication only to open Google's official account chooser and obtain basic account identity data (Google account identifier, email address, and display name). The first federated Google sign-in may create and retain a corresponding Authentication user record in SquirrelDeck's Firebase project; SquirrelDeck does not send or store scripts, settings, or Google Drive backup content in Firebase. The Firebase sign-in session ends immediately after account selection. Actual Drive access for the selected account remains direct through Chrome Identity and the Google Drive API.
SquirrelDeck may store a small backup-location marker in hidden app data for cross-device backup-location discovery. GitHub cloud mode also uses the hidden app-data space for encrypted GitHub OAuth credential data. Screenshot and recording media files are not uploaded to Google Drive.
Script parameters and local credential vault
Users can organize ordinary script settings such as URLs, numbers, switches, and menu choices as editable parameters. Authentication data such as usernames, passwords, secrets, tokens, and API keys is not stored as ordinary script parameters. A local credential vault is created only after the user reads the disclosure and explicitly agrees.
The credential vault uses PBKDF2-SHA-256 (250,000 iterations) to derive an AES-256-GCM key from the user's master password and stores only encrypted credential data in extension-local storage. The master password is not stored, and the unlocked key exists only for the Chrome extension session; the vault locks again after the browser or extension restarts.
Only USER_SCRIPT entries explicitly bound by the user can obtain the corresponding credential at runtime; the MAIN webpage environment cannot read the credential API. The local credential vault is not synchronized to Google Drive, GitHub, or SquirrelDeck servers. Users can lock or clear the vault at any time; SquirrelDeck cannot recover vault data if the master password is forgotten.
User scripts and third-party services
User scripts are created or imported by the user and may read or modify authorized webpages or contact third-party APIs explicitly allowed by the user. GitHub cloud mode communicates directly with GitHub only when enabled by the user. Third-party sites and APIs are governed by their own terms and privacy policies; users should not run scripts from untrusted sources.
Resources declared with @require, @resource, @updateURL, and @downloadURL are downloaded from URLs selected by the script author and stored in a local cache; integrity hashes are verified when provided. Remote JavaScript runs only through Chrome's userScripts API as user-provided script code and cannot update the extension itself. GM Cookie and system notifications are available only when the script declares the corresponding @grant, Chrome has granted the optional permission, and URL rules allow the operation.
Permissions
storage: stores local scripts, tasks, interface settings, and the local AES key for the GitHub credential vault.userScriptsandalarms: run user-provided scripts, reminders, and schedules.activeTab,tabs,scripting, andwebNavigation: operate on user-authorized tabs and support wait conditions and automation/media flows.downloadsandclipboardWrite: save user-requested output or write screenshots, images, text, and other workflow output to the system clipboard only when the user explicitly chooses that action.offscreen,tabCapture,desktopCapture,system.display, anddebugger: create, process, and save user-requested screenshots/recordings.- Optional
identityand Google Drive APIs: used only when Google OAuth is needed for Drive sync or the encrypted GitHub credential vault. - Optional
cookies,notifications, and website access: requested/used only when needed for user-configured scripts, reminders, cross-origin requests, or specific sign-in flows.
Sharing and sale of data
SquirrelDeck does not sell user data and does not use it for advertising, credit assessment, or unrelated purposes. Data is sent only according to the user's explicit configuration, such as to Google Drive, GitHub, or a third-party API selected by a user script.
Retention and deletion
Local data is controlled through SquirrelDeck or Chrome extension management. Google Drive data is controlled by the user's Google account. GitHub cloud results are private Actions artifacts configured for at most one day of retention and are requested for deletion after successful retrieval. Disconnecting GitHub does not automatically delete the private repository in the user's account.
Google API Limited Use
Information received from Google APIs will be used in accordance with the Google API Services User Data Policy, including the Limited Use requirements.
Contact
For questions about this privacy policy or SquirrelDeck's data handling, use the developer contact channel listed on the SquirrelDeck Chrome Web Store listing.