All help pages

Your data

As a guest, we don't know your name or your email. With an account, we keep your email, and a first name only if you give one. You can download everything we hold about you in Settings, and delete it there yourself.

We store the decks you study, your answers and the days you finished a Zap, so each card comes back at the right time. A guest is known only by a random ID in the browser.

We count visits and Zaps to make the app better, without your email or name. No ads, no tracking cookies, no outside analytics.

If something breaks, the error is sent to our error tracker without your guest ID, email, name or answers.

Your data is stored by Supabase in the United States; Cloudflare serves the app.

Questions about your data? Contact us.

What's in your file

Download my data in Settings saves one file, named brain-zap-data and the day you download it. Dates in it are in your time zone; times are in UTC.

  • format: the file's version, brain-zap-export/1.
  • exportedAt: when the file was made.
  • account: whether you're a guest or have an account, your email and name (accounts only), your time zone, whether you chose it, and your study settings.
    • kind: guest, or user once you have an account.
    • email: your email, for an account; null for a guest.
    • name: the first name you gave, or null.
    • timeZone: the time zone your days and reminders follow.
    • timeZonePinned: true when you chose the zone in Settings, false when it follows your device.
    • studySettings: your study style and new cards per Zap, with when you last changed them; null when you never changed them.
  • reminders: on or off, the hour, a pause, and each reminder sent, with when you opened it.
    • on: whether reminder emails are on.
    • hour: the hour they're sent, 0 to 23, in your time zone.
    • pausedUntil: the last day of a pause, or null.
    • sent: each reminder sent to you, with the three fields below.
    • sent.localDate: the day the reminder was for.
    • sent.sentAt: when it was sent.
    • sent.clickedAt: when you opened its link, or null.
  • decks: the decks you added, and when.
    • slug: the deck's short name, as in its web address.
    • title: the deck's name.
    • addedAt: when you added it.
    • pausedOn: the day you paused it, or null.
    • removedOn: the day you removed it, or null.
  • progress: each card you've seen, its step (how long it waits before coming back), when it's next due and when you last saw it.
    • deck: the deck's short name.
    • cardKey: the card's name within its deck.
    • prompt: the card's question.
    • box: its step, 1 to 5: it comes back after 1, 3, 7, 14, or 30 to 120 days.
    • dueOn: the day it comes back.
    • lastSeenAt: when you last saw it.
    • hidden: true when you hid the card.
  • knownCards: cards you marked as already known.
    • deck: the deck's short name.
    • cardKey: the card's name within its deck.
    • markedAt: when you marked it as known.
    • boxBefore: its step before you marked it.
    • dueBefore: the day it was due before you marked it.
  • zapDays: each day you finished a Zap, and when.
    • date: the day you finished a Zap.
    • completedAt: when you finished it.
  • reports: the cards you reported, and why.
    • deck: the deck's short name.
    • cardKey: the card's name within its deck.
    • reason: why you reported it.
    • createdAt: when you reported it.
  • deckRequests: decks you asked for, and whether we told you they shipped.
    • topic: what you asked for, when your ask started the request.
    • askedAt: when you asked.
    • notify: whether you asked for an email when it ships.
    • notifiedAt: when we emailed you, or null.
  • challenges: challenges you sent to friends.
    • code: the code in the challenge's link.
    • deck: the deck's short name.
    • name: the name you showed on it.
    • createdAt: when you made it.
    • expiresAt: when its link stops working.
    • hiddenAt: when you hid it, or null.
  • challengeAttempts: your scores on challenges.
    • challenge: the challenge's code.
    • deck: the deck's short name.
    • score: your score.
    • name: the name you sent with your score, or null (none sent, or the challenger hid it).
    • playedAt: when you played it.
  • challengeReports: challenges you reported.
    • challenge: the challenge's code.
    • reason: why you reported it.
    • createdAt: when you reported it.
  • answers: every answer, its card, knew or didn't, whether you used the hint, and when.
    • sessionId: a random id for the Zap the answer was in.
    • deck: the deck's short name.
    • cardKey: the card's name within its deck.
    • result: knew, or didnt when you didn't know it.
    • hintUsed: whether you used the hint.
    • answeredAt: when you answered.
  • events: what the app counted for you, such as a Zap started, with no email or name.
    • name: what was counted, such as zap_started.
    • props: its details, such as the deck.
    • at: when it happened.

Answers still waiting on this device, offline, are not in the file until they're sent.

A guest who cleared this browser can't download or delete their old progress: its guest ID is gone with it. That progress holds no email or name.

Read the privacy noticeContact us