The short version
- We collect what Stash needs to work: your email address, a hash of your password, and the ideas, notes, links and photos you save.
- It is stored on our own server, rented from OVHcloud in France. We don't use ads, analytics or tracking tools, and we never sell your data.
- Voice capture is turned into text by your phone's speech recognition. Stash never sends your audio to us.
- When the app hits an error, it sends us a short, scrubbed error report so we can fix the bug.
- You can export your data and delete your account from the app's Settings at any time.
Who is responsible
Stash is made and run by one person, [YOUR NAME], an independent developer based in [COUNTRY]. "We" and "us" in this policy mean that person. We are the controller of your personal data under the EU and UK General Data Protection Regulation (GDPR).
For anything about your data, write to support@prodstack.live.
This policy covers the Stash app for iPhone and Android, the server it talks to, and this website. The website itself sets no cookies and loads nothing from other sites.
What we collect and why
Your account
To create an account you give us an email address and a password. We store the email address, a one-way hash of the password (scrypt; we never store or see the password itself) and the date the account was created. When you sign in, the app gets a short-lived access token (15 minutes) and a refresh token (30 days). We store only a hash of the refresh token, so it can be revoked when you sign out.
Why: to give you an account and sync your ideas. Legal basis: performing our contract with you (GDPR Art. 6(1)(b)).
The content you save
Everything you put into Stash is stored so it can sync to your account: your ideas and projects (title, pitch, notes, status, priority, and whether you captured them by text, voice or photo, with the length of a voice capture), tags, target platforms, tech stack, links (the address, a category, its title, the addresses of its icon and preview image, and your note on it), features and sub-tasks, and photos with their captions.
Before a photo is uploaded, the app shrinks it to at most 2048 pixels on its longest side and saves it again as a new image, which removes its embedded metadata, such as where and when it was taken. Photos are stored as files on our server and are only shown through private links that expire after one hour.
Why: this is the service you asked for. Legal basis: contract (Art. 6(1)(b)).
Password reset
If you forget your password, you can ask for a 6-digit code by email. The code is valid for 15 minutes, works once and allows 5 tries. We store only a keyed hash of it, never the code itself. After the password is changed, we send a short notice to the account's email address. We send no other email: no newsletters, no marketing.
Why: to let you back into your account safely. Legal basis: contract (Art. 6(1)(b)).
Voice capture
When you capture an idea by voice, Stash asks for access to the microphone and to speech recognition. The speech is turned into text by your phone's speech recognition service:
- On iPhone, Stash requires on-device recognition, so the audio is processed on the phone and does not leave it.
- On Android, Stash uses Google's speech recognition service on your phone. Depending on your phone and its settings, Google may process the audio on its servers, under Google's privacy policy.
Stash does not record or keep the audio, and never sends it to our server. Only the resulting text is saved, as your idea.
Camera and photos
Stash asks for the camera or your photo library only when you choose to add a photo. Only the photos you take or pick are uploaded. We don't read the rest of your library.
Link previews
When you add a link, our server visits that page once to read its title, its icon and its preview image address, so the link looks recognisable in the app. The website sees a request from our server, not from you. To show the website's icon next to your link, the app then loads that icon directly, so the website (or wherever it keeps its icon) sees your phone's IP address, as it would if you visited it. Opening a link takes you to the website, whose own privacy policy applies.
Why: to show useful previews of your links. Legal basis: contract (Art. 6(1)(b)).
Error reports
When something goes wrong in the app, it sends an error report to our server, which passes it to our own error monitoring tool, running on the same server. A report contains the type of error, its message and stack trace (where in the code it happened), the app version, whether you use iOS or Android and which version, and how the app was running. If you are signed in, our server adds your user ID (a random number, not your email address).
Reports never include your ideas, notes, photos, email address or passwords. Before a report leaves your phone, and again on our server, anything that looks like an email address, a password, a token or a web address's query string is removed. If you are offline, reports wait on your phone for up to 7 days.
Why: to find and fix bugs. Legal basis: our legitimate interest in a working, reliable app (Art. 6(1)(f)). The data is minimal and we cannot see your content through it. You can object at any time (see Your rights).
Server logs and security
Like any web server, ours keeps an access log of the requests the app makes: your IP address, the time, the address requested (with the signatures of photo links removed), the response, and the app's user-agent string. Our application also logs each request (method, path, result and timing, and sometimes your user ID, but never your IP address, content, passwords or tokens). From the access log we keep traffic counts; the "visitor" counts use a hash of the IP address and user agent with a random value that changes daily and is deleted after two days, so they cannot be traced back to you.
To stop password guessing and abuse, the server counts requests per IP address and failed sign-ins per email address. These counters are held in memory only and reset within 15 minutes.
Why: to run the service, keep it secure and investigate problems. Legal basis: our legitimate interest in a secure, working service (Art. 6(1)(f)).
When you email us
If you write to us, we receive your email address, your message and anything you attach, and use them to answer you.
Why: to help you. Legal basis: our legitimate interest in answering your request (Art. 6(1)(f)), or contract where your question is about your account.
What stays on your phone
The app stores some things on your phone only: your sign-in tokens (in the phone's secure storage), changes waiting to sync, your settings such as appearance and capture mode, and error reports waiting to be sent.
You can also use Stash without an account ("Continue without an account"). Your ideas then stay on that phone only; we never receive them, and they are not backed up. Error reports are still sent, without a user ID. Deleting the app deletes this data.
What we don't do
- No ads, and no advertising or analytics tools in the app.
- No tracking across other apps or websites.
- No selling, renting or sharing your data for advertising.
- No profiling and no automated decisions with legal or similarly significant effects on you.
- No reading your content, except where you ask us to help with it, where we must to keep the service running (for example, restoring a backup), or where the law requires it.
Who else handles your data
We use as few outside services as we can. These ones handle personal data for us or alongside us:
- OVHcloud (OVH SAS, France) rents us the server in France that runs Stash and stores its database, photos, logs, error reports and backups. It acts as our processor.
- Resend (Resend, Inc., USA) sends the password reset emails. It receives your email address and the message. We use its EU region. It acts as our processor.
- name.com (Name.com, Inc., USA) forwards the messages you send to support@prodstack.live to our Gmail mailbox (Google), where they are stored.
- Google, on Android only, if you use voice capture, as described above. Google provides that speech service under its own terms.
- Apple and Google distribute the app through the App Store and Google Play, under their own privacy policies. They may share download and crash statistics with us, which do not identify you.
We disclose data to authorities only when the law requires it.
Where your data is
Your account, content, logs and backups are stored in the European Union, on our server in France.
Resend is a US company. We use its EU region, but Resend may still access data from the United States. Such transfers are covered by Resend's data processing agreement and the safeguards the GDPR requires, such as the European Commission's Standard Contractual Clauses. Support emails pass through name.com and are stored in Gmail, both of which may process them in the United States under their own safeguards. On Android, Google may process voice audio outside the EU under its own safeguards.
How long we keep it
| Data | Kept |
|---|---|
| Account and content | Until you delete them or your account |
| Database and photo backups | 7 days (one backup a night, the oldest is deleted) |
| Refresh tokens | Up to 30 days, or until you sign out |
| Password reset codes | Valid 15 minutes; the hash is deleted with your account or when a newer code is issued |
| Server access logs (with IP address) | 14 days |
| Application logs | About 7 days; warnings and errors 30 days |
| Error reports | 30 days; a summary of each distinct error (without your user ID) up to 180 days after it last occurred |
| Abuse counters | In memory only, up to 15 minutes |
| Support emails | As long as needed to help you, and no longer than 2 years after our last message |
When you delete something, it is gone from the live service at once. Copies can remain in the nightly backups for up to 7 days, until those backups are overwritten.
Your rights
Under the GDPR you have the right to:
- Access the personal data we hold about you and get a copy.
- Rectify it if it is wrong. You can edit your content in the app; to change your email address, write to us.
- Erase it. Delete your account in Settings, or follow these steps.
- Data portability. In Settings, under Data, export everything as JSON or Markdown.
- Restrict how we use your data while a question is being settled.
- Object to processing based on our legitimate interests, such as error reports.
- Complain to a data protection supervisory authority, in particular in the country where you live or work. We'd appreciate the chance to sort it out with you first.
You can also turn off Stash's access to the microphone, speech recognition, camera and photos at any time in your phone's settings.
To use a right, write to support@prodstack.live, ideally from the email address of your account. We may ask you to confirm it is you. We answer within one month.
Security
The app talks to our server over encrypted HTTPS connections. Passwords are stored only as strong hashes; refresh tokens and reset codes only as hashes. Each account can reach only its own data. Photos are private files, shown only through signed links that expire after an hour. No system is perfectly secure, but we work to protect your data, and we will tell you without undue delay if a breach puts it at high risk.
Children
Stash is not meant for children. You must be at least 16 years old to create an account. If you believe a child under 16 has given us personal data, write to us and we will delete it.
Changes to this policy
When the app or the way it handles data changes, we update this page and the date at the top. If a change matters, for example a new service that receives your data, we will tell you by email or in the app before it takes effect.
Contact
[YOUR NAME], [COUNTRY]
support@prodstack.live