When you ask if getqueryly is safe to use, you are really asking three things: where does my file go, who can see it, and how long does it stay. The answer is simple by design. Your file is processed in memory and auto deleted when the session expires, never stored permanently. How long that is depends on your account, but every session expires from inactivity, not on a hidden warehouse.
Uploading is free. Asking a question costs 1 Make, health check 2, insights 3, multi analyst swarm 5 for quick or 8 for full. See live costs at GET /api/makes/costs.
| What | Kept? | For how long |
|---|---|---|
| Your raw file | Temporary session only | Auto deleted with the session, after inactivity: anonymous one hour, free 24 hours, paid 7 days, sooner if you clear the session or delete the file. Every activity extends the window, so one hour means one hour of no activity, not one hour from upload. |
| Session results (charts, stats, answer) | In session | Same session lifetime, deleted with the session. A background job runs every five minutes to purge expired sessions, their messages, file records, and the actual files on disk. |
| Shared link snapshot | Only if you click Share | Stored until you delete it, charts are embedded as images in that snapshot |
| Account and API keys | Yes, in your account | Until you revoke or delete them |
| Usage count (Makes used) | Yes, counters only | For billing and rate limits, not the file content |
We do not keep a copy of your spreadsheet for later. If you need the same file tomorrow, you upload it again. That is intentional.
Only you in that session, and only while it is alive. We do not expose a public gallery of uploads and we do not send your file to a third party for storage. When AI writes code to answer your question, it sees column names and a sample of rows needed to build the query, not an open share. If you create a shared link with POST /api/data-scientist/share, that specific snapshot becomes viewable at /shared/{id} without sign in, because you chose to share it. Anything you do not share stays private to your account and expires with the session.
This is where the vibe code conversation matters. getqueryly shines when speed and plain English beat formal process:
That is not a flaw in the tool, it is a fit question. Use getqueryly where fast answers help, and keep regulated data on regulated systems.
Recent hardening you benefit from without seeing it: raw errors are scrubbed so provider messages or file paths never reach the browser, failed code is retried automatically, watcher context prevents the AI from repeating a failed approach, and exports are built with fallbacks so a missing chart does not become a 500. You see a clean answer, the details stay in server logs.
If your data is a classroom survey or a shop sales sheet, upload and ask, you will have charts in seconds. If it is regulated data, sample and anonymize first. The tool respects the boundary you set.
Drop in any CSV or Excel, ask what is my best product by revenue or is this growth real or random noise, and compare the answer to what you would build by hand. For developers, the same flow is one header away: X-API-Key: YOUR_API_KEY for REST and MCP at https://getqueryly.com/mcp/sse, see how your AI assistant can actually do things.
Build note: getqueryly is built by a solo founder with AI assistance. That is why it ships fast and prices low. That is also why we publish this plain English handling guide and purge by default, so you know exactly what you are trusting before you upload.