Updated July 12, 2026
How we handle your data
Envelope encryption for every credential
An App Store Connect key, a Google service account, or an SMTP password is encrypted the moment you upload it, with its own unique AES-256-GCM key. That per-secret key is itself wrapped by a master key that never touches the database or the database backups; it lives only on the application server, outside the data that gets copied around.
The uploaded file or password is validated with a real test request and encrypted in memory. The original upload is never written to disk.
Decrypted only to make the one call it's for
Credentials are decrypted only inside an isolated background worker, only for the seconds it takes to make the one API call to Apple, Google, or your SMTP provider. The decrypted value is never logged, never cached, and never written to a temporary file.
Write-only in the UI
Once a credential is uploaded, the interface can test it, rotate it, or delete it, but it never displays it again. Not to you, not to us. You will only ever see its key ID, upload date, and a short fingerprint.
Deleted, not archived
Disconnecting an integration destroys its ciphertext immediately. It is not a soft delete. If you delete a workspace entirely, it moves to a 7-day trash to protect against an accidental click; every credential inside it is destroyed the moment you confirm the deletion, without waiting for the trash period to end.
What we aggregate globally
Public App Store facts, like a keyword's ranking for a given app on a given day, are collected once and shared across every workspace tracking that same keyword. This public information is something anyone could look up in the App Store themselves.
Raw Apple Search Ads popularity readings stay private to your workspace. ASOHawk may publish a shared median only in a fixed weekly batch, only after each reading has been delayed for at least seven days, and only when at least three independent workspaces contributed. A workspace contributes at most one latest reading per keyword.
The shared layer exposes only the keyword and pooled score. It does not expose contributor identities, contributor counts, sample sizes, raw readings, provider payloads, dispersion, cohort timestamps, or the reason a pooled value is unavailable. Each weekly publication has a 14-day lifetime, so one workspace cannot cause an immediate visible change by joining or leaving the pool.
Raw public snapshots are kept for a limited window and then collapsed into compact summaries (difficulty, trend, best/average/worst rank) rather than stored forever as raw rows. Your own private data, App Store Connect figures, GA4 analytics, sales, is never part of this shared layer.
Separately from the keyword-ranking layer above, App Store Connect performance data (downloads, sales, revenue) you connect may also be used, in de-identified aggregate form, to calibrate ASOHawk's estimation algorithms, for example the download and revenue estimates shown across the product. An aggregate is only produced once data from several independent workspaces is combined, and your individual downloads, sales, or revenue figures are never exposed to other workspaces or customers. See the Privacy Policy for details, and disconnect App Store Connect at any time to stop this use.
What we never do
We never disclose your individual revenue, subscriptions, or product analytics to other customers. Beyond displaying your data back to you in your own workspace, the only other use is the de-identified, aggregate calibration described in "What we aggregate globally" above, from which no individual app or customer can be identified. We never sell data. We never train models on your identifiable workspace data.
Deletion and export
Settings gives you a JSON or CSV export of your workspace at any time, and a way to delete your workspace or account outright. See the Privacy Policy for the full retention schedule and how to request a manual export or deletion under GDPR.
Questions
Anything here unclear, or want to know exactly what we hold for your workspace: [email protected].