STASH ("we", "our", or "the app") provides a personal media library and structured fact extraction application. This Privacy Policy describes how information is collected, used, stored, and deleted when you use the STASH mobile application.
1. Data Architecture: Local-First with Optional Cloud Synchronization
STASH is engineered with a local-first data model:
- Unauthenticated Use: If you use STASH without signing in, all stashed items, organizational folders, extracted recipes and workouts, personal notes, and preferences reside exclusively on your local device in application web storage (
localStorage) and sandboxed local backup. In this mode, your vault data is never transmitted to STASH servers or third-party cloud databases.
- Authenticated Cloud Sync: If you sign in with a Google account, STASH synchronizes your vault items and custom folder metadata to Google Cloud Firestore under a dedicated user document path (
/vaults/{userId}) so you can access your saved items across devices.
2. Information Collected and Processed
A. Account & Authentication Information
When you sign in using Google Sign-In, authentication is managed via Firebase Authentication. We process:
- Your unique Firebase / Google User ID (
uid);
- Your email address;
- Your display name and profile image URL (if provided by Google);
- Authentication tokens (ID token and refresh token) stored locally on your device to authorize requests to your cloud vault.
This information is used strictly to authenticate your identity and restrict access to your private cloud vault.
B. Vault Items & User Content
When you stash media or add items to STASH, the following data is processed and stored:
- Source URLs: The web links you submit (e.g. from Instagram, TikTok, YouTube, or X).
- Extracted Metadata: Public titles, creator handles, thumbnails, and platform indicators resolved from public URLs.
- Structured Facts: Deterministically parsed recipe ingredients/steps and workout exercise stations/timers extracted from public captions.
- User Notes & Checklists: Text notes you write in the app and completion states for recipe/workout checklist items.
- Folders: Custom folder names, colors, and item assignments.
C. Content Excluded from Cloud Synchronization
STASH strips physical device-local paths (such as file://, blob:, or sandboxed device storage directories) before synchronizing records to Firestore. Device-local cache and in-memory streams remain local to your physical device.
D. Media Streaming & External Links
STASH does not re-host or store original video or audio media files on central application servers. Media is streamed directly from public platform content delivery networks (CDNs) or embedded players (e.g. the YouTube IFrame player).
E. Device Permissions
- Clipboard Access: With your permission, STASH inspects the device clipboard when opened strictly to detect supported media links for 1-tap stashing. Clipboard contents are never logged, stored remotely, or transmitted to any server.
- Biometrics: If you enable biometric security for your Private folder, authentication is handled entirely by the operating system (Android
BiometricPrompt API). STASH never collects, receives, or stores biometric identifiers.
- Device Storage: STASH does not request shared storage permissions (zero media or external storage permissions). Vault exports and backup files use Android's secure system document picker.
3. YouTube API Services & Third-Party Platforms
STASH uses standard cloud and platform infrastructure, including YouTube API Services:
- YouTube API Services: STASH utilizes YouTube API Services (specifically the YouTube Data API v3 and YouTube IFrame Player API) to retrieve public video metadata and display embedded video playback inside the user's personal vault.
- Agreement to YouTube Terms: By using STASH's YouTube-enabled functionality, you agree to be bound by the YouTube Terms of Service (https://www.youtube.com/t/terms).
- Google Privacy Policy: In connection with your use of YouTube API Services, data is collected, processed, and maintained in accordance with the Google Privacy Policy (https://www.google.com/policies/privacy).
- Data Accessed and Processed: STASH accesses only public video metadata (video ID, video title, author/channel display name, public video thumbnail URL, and Made-for-Kids classification flags via the official YouTube Data API v3). STASH does not collect, store, share, or sell any private YouTube user data, Google account passwords, or personal viewing histories.
- Child Data & Made-for-Kids Policy: In strict compliance with YouTube Developer Policies and COPPA, STASH verifies the Made-for-Kids status of embedded videos via the YouTube Data API v3. Content marked as Made for Kids is rendered with autoplay disabled, with zero personalized tracking. Playback is rendered via the privacy-enhanced
youtube-nocookie.com embedded player.
- Google Firebase Authentication: User authentication and identity verification via Google Sign-In.
- Google Cloud Firestore: Encrypted cloud document storage for optional cross-device vault synchronization. Access rules strictly require authenticated requests matching the user's specific UID (
request.auth.uid == userId).
Notice: STASH does not contain third-party advertising SDKs, tracking pixels, or third-party analytics frameworks. Google Play Billing is integrated for optional STASH Pro upgrades and handled securely by Google Play.
4. Deletion Semantics: Item Delete vs. Sign-Out vs. Account Deletion
To ensure complete transparency, STASH implements the following distinct behaviors:
1. Deleting an Individual Item
- Local Storage: The item is immediately removed from your active device vault.
- Cloud Storage (when signed in): To ensure the deletion propagates reliably to your other devices, Firestore marks the item with a deletion tombstone (
deletedAt: timestamp) and clears its content payload. This tombstone is observed by your other devices to remove the item locally. The tombstone identifier remains in your user vault until account deletion.
2. Signing Out
- Signing out clears your active vault, active folders, sync queue, and sync timestamp from active device memory and workspace.
- Your data is retained in user-scoped storage on that device and in your Cloud Firestore vault. Signing back into the same Google account restores your vault. Signing out does not delete your cloud or local data.
3. Deleting Your Entire Account & Cloud Vault
- Scope of Deletion: Permanently deletes all document records in your Firestore subcollection (
/vaults/{uid}/items/*, including all tombstones), permanently deletes your root vault document (/vaults/{uid}), permanently deletes your Firebase Authentication account record via Google Identity Toolkit, and purges all user-scoped vault data from your local device.
- Irreversibility: Once executed, your cloud vault and authentication record cannot be recovered.
- Failure Safety: If an error occurs while purging cloud documents, the account deletion sequence halts immediately to avoid orphaned cloud data, local data is preserved, and an error alert is presented.
5. How to Request Account & Data Deletion
You can delete your account and all associated cloud data at any time through either of the following pathways:
- In-App (Instant): Open STASH → Go to Library → Tap Settings (gear icon) → Under Account, tap Delete Account & Cloud Vault and confirm.
- Web / Without App: If you no longer have the app installed, visit our Account Deletion Portal or email
support@stashreel.app from your registered Google email address with the subject "STASH Account Deletion Request". Requests are verified and processed within 5 business days.
If you have questions regarding this Privacy Policy or your data, contact us at:
Email: support@stashreel.app