[{"data":1,"prerenderedAt":88},["ShallowReactive",2],{"doc:\u002Fdocs\u002Fdata-retention":3},{"page":4,"toc":82,"updated":87},{"path":5,"title":6,"seoTitle":7,"description":8,"blocks":9},"\u002Fdocs\u002Fdata-retention","Data retention","Data Retention for Events and Visitor Data","How long Fingerly keeps identification events, aggregated analytics, usage records and webhook deliveries, and how to keep your own copy for longer.",[10,13,49,54,56,59,61,64,66,73,76,78],{"type":11,"text":12},"p","Fingerly keeps each kind of data for as long as it is needed for its purpose.",{"type":14,"columns":15,"rows":19},"table",[16,17,18],"Data","Kept for","Readable through",[20,24,27,30,34,37,41,45],[21,22,23],"Identification events, including IP addresses","30 days","The dashboard, the server API",[25,22,26],"Deferred reports","The server API, with their event",[28,22,29],"Webhook delivery history","The dashboard",[31,32,33],"Per-address daily summaries","90 days","Used for detection only",[35,36,33],"Velocity counters","8 days",[38,39,40],"Visitor identities, which recognise returning devices","180 days after the device was last seen","Used for identification only",[42,43,44],"Aggregated analytics","Up to 800 days, in aggregate form","Dashboard insights",[46,47,48],"Usage and billing records","About 3 years","Settings > Usage",{"type":50,"level":51,"text":52,"id":53},"heading",2,"Visitor identities","visitor-identities",{"type":11,"text":55},"A visitor identity is deleted 180 days after its device was last seen. A device that returns after that is identified as a new visitor, with a new `visitor_id` and `visitor_is_new` set to `true`.",{"type":50,"level":51,"text":57,"id":58},"Archived submissions","archived-submissions",{"type":11,"text":60},"The archived copy of each submission does not yet expire automatically. A retention period for it is being introduced. Until then, contact support to have archived submissions deleted.",{"type":50,"level":51,"text":62,"id":63},"Keeping your own copy","keeping-your-own-copy",{"type":11,"text":65},"If you need events for longer than 30 days, for example for chargeback evidence, keep your own copy: subscribe to [`identification.completed`](\u002Freference\u002Fwebhooks\u002Fidentification-completed), or page through [List events](\u002Freference\u002Flist-events) on a schedule.",{"type":67,"samples":68},"code",[69],{"label":70,"lang":71,"code":72},"Nightly export","ts","const to = startOfToday()\nconst from = new Date(to.getTime() - 24 * 60 * 60 * 1000)\n\nfor (let page = 1; ; page++) {\n  const { rows, page_size } = await fingerly.events.list({ from, to, page, limit: 200 })\n  await warehouse.insert(rows)\n  if (rows.length \u003C page_size) break\n}",{"type":50,"level":51,"text":74,"id":75},"Closing an organization","closing-an-organization",{"type":11,"text":77},"The owner can close an organization in **Settings > Organisation**. To have all of its data deleted, contact support.",{"type":79,"tone":80,"text":81},"callout","note","Questions about retention: [support@fingerly.io](mailto:support@fingerly.io).",[83,84,85,86],{"id":53,"text":52,"level":51},{"id":58,"text":57,"level":51},{"id":63,"text":62,"level":51},{"id":75,"text":74,"level":51},"2026-09-17T16:57:42.000Z",1789667797516]