Skip to content
GDPR compliant. Hosted in DE.
14-day free trial →
Storage LimitationRetention PolicyHosting in Germany
Compliance 18 min read 26 Aug 2026

Data Retention: How Long to Keep Monitoring Records

Storage limitation in monitoring: which retention period applies to check logs, screenshots and session recordings, and how to document a deletion policy.

X

XICTRAQ Team

XICTRAQ

GDPRData protectionMonitoringData retention
8 years
retention for accounting vouchers since 2025, down from ten (German Fiscal Code)
1 month
deadline for answering access and erasure requests, counted from receipt of the request (GDPR)
4 %
of global annual turnover as the upper fine range for breaching Article 5 (GDPR)
Retention policy: how long each record staysRetention per data type until automatic deletionCircle = automatic deletionDerived from purpose, evidence needs and statutory retentionCheck logs with IP30 daysScreenshots in changelog90 daysSession recordings30 daysResponse times per checkdaily aggregate90 days rawAlert and incident history3 yearsInvoices under tax law8 years07 days30 days90 days1 year3 years8 yearsAccounting vouchers: 8 years since 2025 (German Fiscal Code) - IP logs without a statutory period, duration from a documented balancing test (GDPR)No deadline on record, no accountability4%of global annual turnover as the upperfine range (GDPR, Article 83)Aggregate instead of archiveRaw data: 90 daysDaily aggregate: keptAggregates without personal reference: no erasure duty (GDPR)Plan-based deadlines, nightly prune run, documented deletionProcessing and hosting in Germany, no third-country transfer - built into XICTRAQStorage limitation under Article 5 GDPR: as short as possible, as long as demonstrably needed
A retention policy answers a question that website monitoring rarely asks: how long may check logs, response times, screenshots and session recordings actually stay on disk? The General Data Protection Regulation states in Article 5(1)(e) that personal data must be kept in identifiable form only for as long as the purpose requires (GDPR) - the principle of storage limitation. Breaches of the Article 5 principles fall into the upper fine range of up to 20 million euros or 4 percent of global annual turnover (GDPR). At the same time, tax law pulls in the opposite direction: accounting vouchers must be retained for eight years since 2025, down from ten (German Fiscal Code). The real work sits between these two poles. This guide shows which deadline derives from what, when aggregation is the better answer than deletion, and how to document the result so it survives an audit - implemented technically with plan-based retention and an automatic prune run.

Storage limitation: the principle missing from retention policies

The GDPR sets out six processing principles, and storage limitation is the one that makes the least noise in day-to-day engineering. Article 5(1)(e) requires personal data to be kept in a form that permits identification of the data subject only for as long as the processing purposes require (GDPR). Recital 39 is more explicit: the controller should set time limits for erasure or a periodic review (GDPR). So it is not enough to get rid of data eventually - the schedule has to exist beforehand. On top of that comes the accountability duty in Article 5(2): the controller must be able to demonstrate compliance with the principles (GDPR). A retention policy is therefore less an exercise in diligence than the evidence that your own data holdings follow any order at all.

That order gets tested in several places. Article 13(2)(a) requires the storage period to be disclosed at collection time, or failing that the criteria used to determine it (GDPR). Article 15(1)(d) gives data subjects the right to be told the envisaged storage period (GDPR), and Article 30(1)(f) requires the record of processing activities to state, where possible, the envisaged time limits for erasure of the different categories of data (GDPR). Anyone who cannot answer those three questions consistently does not have a data protection problem in one place, but in three. And because breaches of the principles sit in the upper fine range under Article 83(5), the topic is not a minor line item commercially either.

For website monitoring, personal reference is the decisive fork. The European Court of Justice held in the Breyer case that dynamic IP addresses can be personal data for a website operator if that operator has legal means to have the person identified (European Court of Justice). Access logs and check logs containing visitor addresses therefore fall under storage limitation. Screenshots can show names, order numbers or messages from a customer account. Session recordings capture movements and input. Form events contain field contents depending on the setup. Plain response times, status codes and certificate lifetimes, by contrast, often carry no personal reference at all - a different case that tolerates a different deadline.

Erasure is more than one row in the database

Erasure in the GDPR sense is only achieved once the personal reference can no longer be restored. That covers not just the primary table but also copies: files on disk, caches, search indexes, reports already sent, and backups. How stubborn caches can be is covered in the article on stale content after a deploy. Recital 26 makes clear that anonymous information falls outside the regulation (GDPR) - which is exactly what the middle path of aggregation targets. For backups, practice uses a staged answer: they are not edited individually but expire themselves after a documented period, and any restored state is pushed through the prune run again.

Which data website monitoring actually produces

Before a deadline can be set, the data landscape has to be named. A monitoring account collects more categories than the interface suggests, and they differ considerably in personal reference, value and shelf life. The overview below summarises what typically accumulates and how the respective deadline can be derived. The column "typical period" lists corridors observed in practice, not statutory values - with the exception of the last row.

Data categoryPersonal referenceTypical periodDerivation
Check logs (uptime, SSL, security scan)rarely, provided no visitor data30 to 180 daysPurpose limitation, incident analysis
Server and access logs with IPyes7 to 30 daysLegitimate interest, balancing test
Response times and percentilesno, once aggregatedraw 30 to 90 daysPurpose limitation, then aggregate
Screenshots and visual changelogpossible if customer data is visible7 to 180 daysPurpose limitation, evidence towards clients
Session recordingsyes14 to 30 daysData minimisation, outcome of the risk review
Form eventsyes, if contents are captured30 to 90 daysPurpose limitation, analysis interval
Alert and incident historyindirect via operator accounts1 to 3 yearsEvidence, reporting duties
Team access and change logsyes6 to 12 monthsAccountability, Article 5(2)
Invoices and accounting vouchersyes8 yearsGerman Fiscal Code, German VAT Act

Two patterns stand out. First, the short periods typically apply to categories with direct personal reference - logs holding an IP address, session recordings, form events. Second, the long periods typically apply to data whose personal reference is not needed for the later analysis at all. That gap is where the room to manoeuvre sits, because an availability figure covering twelve months does not need a single check row from March. Anyone keeping image states as evidence should also review which parts of a page need to be captured in the first place; the screenshot and changelog feature rests on the same consideration.

Where a retention period comes from

A retention period is not chosen, it is derived. Four sources come into play, and the actual period usually follows from the longest of them - but only for the data category that source genuinely covers. A common mistake is to mentally extend the eight-year period for accounting vouchers across the whole data estate and then keep everything for eight years.

Purpose limitation as the floor

The purpose determines how long data is needed. An availability review across twelve months needs daily values, not per-minute checks. Anyone who states the purpose precisely - trend analysis, incident investigation, evidence towards a client - can justify the period instead of asserting it.

Evidentiary interest as the buffer

The standard limitation period is three years and starts at the end of the year in which the claim arose (German Civil Code). Anyone wanting to evidence availability commitments towards clients therefore has a factual reason for multi-year retention - but only for the aggregated evidence, not for every raw row.

Statutory retention as the exception

Commercial and tax law require long periods for a clearly bounded set of documents: eight years for accounting vouchers (German Fiscal Code), ten years for annual accounts and commercial books (German Commercial Code). This duty overrides the erasure duty - but it does not stretch it to measurement data.

Data subject rights as the clock

Access and erasure requests must in principle be answered within one month under Article 12(3) (GDPR). A retention policy therefore needs more than deadlines: it needs a way to remove a single person from the estate on request - including session recordings and form events.

These four sources produce a period with a rationale for each data category. That rationale is the real value of the retention policy: it turns a number in a settings dialogue into a decision that can be followed. And it often shows that a shorter period is sufficient than first assumed. How technical metrics can be aggregated for the long view without losing meaning is described in the article on response times using p95 and p99 instead of the average.

Logs with IP reference: seven, thirty or ninety days

No category is argued over as much as access and check logs holding IP addresses. There is no statutory period for them. In practice a seven-day mark has become established, derived from case law on storing dynamic IP addresses to fend off disruptions to operations (Federal Court of Justice). A longer retention period is not ruled out, but it requires a documented balancing test that makes the security purpose and the necessity of the additional days verifiable (GDPR). For operators of critical infrastructure the BSI Act names no minimum period for log data; the frequently cited guide value of 90 days comes from the BSI minimum standard on logging and detection of cyberattacks and applies there to the federal administration (BSI).

The spread is wide, and that is not a contradiction but the system: the period follows the balancing test under Article 6(1)(f), and Recital 49 names network and information security explicitly as a legitimate interest (GDPR). What matters is not the number but whether the balancing test exists in writing. A second lever lowers the risk regardless of the period: if the IP address is truncated or replaced by a check value after a short core period, analysis remains possible while the personal reference disappears. How measurement can be set up without recognising individual visitors in the first place is described in the article on cookieless tracking without consent banners.

With alert and incident history the pendulum swings the other way. The NIS2 Directive requires affected entities to submit an early warning within 24 hours, a notification within 72 hours and a final report within one month (NIS2 Directive). The Cyber Resilience Act likewise requires an early warning within 24 hours for actively exploited vulnerabilities (Cyber Resilience Act). Anyone wanting to evidence such notifications later needs an incident file that clearly outlasts the reporting window - one to three years is common. That file usually holds only timestamps, status values, measures and operator accounts, however, not the full raw logs. Which alerts are worth keeping is already decided when monitoring alerts are configured.

A number without a rationale will not survive an audit

The most common finding in a data protection audit is not an excessive period but a period without a derivation. "30 days" is not a rationale. "30 days, because incident investigation typically spans two maintenance cycles and the documented balancing test shows this window to be necessary for the security purpose (GDPR)" is one. Record for every period: purpose, legal basis, balancing test, responsible unit and the date of the last review.

The exception: commercial and tax law

Against the erasure duty stands a retention duty, and it has moved recently. The Fourth Bureaucracy Relief Act shortened the period for accounting vouchers from ten to eight years; the change applies to vouchers whose period had not yet expired on 31 December 2024 (German Fiscal Code). The period for invoices under VAT law was adjusted in parallel (German VAT Act). What was not shortened is the ten years for annual accounts, commercial books and inventories (German Commercial Code). Credit institutions, investment firms and undertakings under insurance supervision are excluded from the shortening: for them Section 147 (3) sentence 1 of the German Fiscal Code continues to apply in the version in force on 31 December 2024, that is ten years (Introductory Act to the German Fiscal Code).

In practice that means anyone who wrote their retention policy before 2025 is carrying an outdated number in at least one place. And because the erasure duty revives once the retention period expires, keeping data too long is itself a breach of storage limitation. For electronic filing there is the additional point that the principles for the proper keeping and retention of books require immutability, machine evaluability and traceability across the entire period (Federal Ministry of Finance). The period starts at the end of the calendar year in which the last entry was made (German Fiscal Code) - so an invoice from January effectively sits for almost nine years.

DocumentPeriodBasis
Accounting vouchers and invoices8 yearsGerman Fiscal Code, German VAT Act
Annual accounts, commercial books, inventories10 yearsGerman Commercial Code
Commercial letters received and sent6 yearsGerman Commercial Code
Credit institutions, investment firms, insurance supervision: excluded from the shorteningstill ten yearsIntroductory Act to the German Fiscal Code
Start of the periodend of the calendar year of the last entryGerman Fiscal Code
Electronic filing: immutable and evaluableacross the entire periodFederal Ministry of Finance

For a monitoring account the conclusion is pleasantly clear: the long period covers the billing records of the contractual relationship, not the measurement data. Check logs, screenshots and session recordings are not accounting vouchers. Throwing them into the same retention bucket extends their lifetime without a legal basis and, in the event of a breach, enlarges exactly the estate an attacker walks away with. Separating billing data from measurement data therefore belongs at the start of the retention policy, not at the end.

Aggregation instead of deletion: the defensible middle path

Between "keep" and "gone" lies a third option missing from many policies: aggregation. Roughly 43,200 individual checks in a month at a one-minute interval become one row per day carrying availability, response time percentiles and error rate. The value for trend analysis is preserved, the personal reference disappears, and storage demand drops by several orders of magnitude. Recital 26 of the GDPR makes clear that the data protection principles do not apply to anonymous information (GDPR) - a cleanly aggregated daily value with no route back to the individual session therefore falls out of the erasure duty.

Two conditions decide whether aggregation holds. First, the aggregation must cut off the route back: if an identifier survives alongside the daily value that allows the individual session to be reconstructed, the result is pseudonymous rather than anonymous - and therefore still personal data. Second, further processing for statistical purposes has to be safeguarded; Article 89(1) requires appropriate safeguards such as data minimisation and pseudonymisation (GDPR). Article 11 adds that a controller is not obliged to keep additional identifying information solely to comply with the regulation (GDPR) - so data need not be made more identifiable than the purpose requires.

In practice this can be built in tiers: raw data for the short period during which incidents are investigated, and daily aggregates for the long period in which trends and evidence matter. A status page with a 90-day band then needs 90 daily aggregates rather than 90 days of raw logs - a separation already built into reports and status pages. The same principle applies to image states in a different form: instead of keeping every image indefinitely, the detected difference between two states is enough, as described in the article on detecting website changes by image comparison.

The aggregate is the better retention

An aggregated daily value answers the questions still asked months later: was availability within the target corridor for the quarter? How did response time develop? When did errors cluster? The raw row mainly answers the question asked in the week after the incident. Separating the two shortens the period for the risky category without losing the analysis - and leaves less to report in a breach, because less is there.

Documenting periods in the record of processing activities

A retention policy that exists only in an application's settings is worth little in an audit. Article 30(1)(f) requires the record of processing activities to state, where possible, the envisaged time limits for erasure of the different categories of data (GDPR). The relief for organisations with fewer than 250 employees under Article 30(5) rarely helps here, because it falls away as soon as the processing is not occasional (GDPR) - and continuous monitoring is the definition of "not occasional". Where a service provider is used, the period also belongs in the processing agreement under Article 28, along with a rule on what happens to the data when the contract ends (GDPR).

  1. Record data categories individually: check logs, response times, screenshots, session recordings, form events, alert history, team access logs and billing records belong in separate entries. Catch-all items such as "technical data" block every later justification.
  2. Assess personal reference per category: note whether and through what a reference arises - IP address, customer identifier visible in an image, field content from a form. Without that assessment neither a period nor an aggregation can be justified.
  3. Derive the period, do not set it: note purpose, legal basis and the longest applicable source for each category. The derivation is the part a supervisory authority actually reads.
  4. Define the aggregation tier: determine which category moves into an aggregate once the raw data period expires and which disappears entirely. Note what cuts off the route back to the individual session.
  5. Automate the prune run: a policy without technical execution is a statement of intent. The run should start on a schedule, log its results and include files, copies and backups - not just the primary table.
  6. Plan for data subject requests: define how an individual is removed from the estate before the period expires and who performs it. The one-month deadline in Article 12(3) leaves little room for improvisation (GDPR).
  7. Review annually: periods go out of date. The shortening for accounting vouchers since 2025 is the most recent example (German Fiscal Code). A fixed review date with a name attached belongs in the policy.

The retention policy touches several neighbouring topics along the way. Defining who on the team may see and export which data feeds directly into it; the underlying system is described in the article on access rights and audit trail in the monitoring team. Anyone wanting to know whether data leaves the country at all will find the measurement approach in the article on data flow and third-country transfer of a website. And where processing carries a high risk - session recordings are the classic case - the route runs through a data protection impact assessment for web tracking, which asks for the storage period anyway.

Setting up retention periods in XICTRAQ

In XICTRAQ retention is not a free text field but a plan-based setting enforced by a daily prune run. The same set of values feeds both the disclosure in the interface and the prune job, so the two cannot drift apart - two hand-maintained tables reliably diverge as soon as only one of them is touched. The run removes check logs, certificate checks, security scans, raw analytics records, changelog entries and the associated image files from disk: files first, then the database rows.

Data holdingFreeStarterBusiness and Agency
Raw monitoring data (uptime, certificates, scans)7 days30 days90 or 180 days
Screenshots and visual changelog7 days30 days90 or 180 days
Analytics data30 days90 daysunlimited
Daily aggregates for status page and reportsretainedretainedretained
Extended retention as an add-onnot available730 days monitoring730 days monitoring, analytics unlimited
Enforcement of the perioddaily prune rundaily prune rundaily prune run

For the submission to the data protection officer what counts most is that these values can be retrieved and justified: the plan determines the period, the period is stated in the application, the run enforces it, and the outcome can be verified. This is complemented by processing and hosting in Germany: no transfer to a third country arises that would need additional safeguards under Article 44 and following (GDPR). The cookieless analytics also works without recognising individual visitors and without accessing terminal equipment storage under Section 25 (TDDDG). That removes some of the most sensitive categories at collection time instead of having to delete them laboriously later.

A defensible retention policy is ultimately not a document but a process with four parts: named categories, derived periods, automatic enforcement and a fixed review date. Check in the free trial which periods apply to your data holdings, or have a personal demo show how retention, aggregation and the prune run work together. How the topic fits into the remaining obligations is covered in the overview of GDPR compliance for websites.

Sources and Studies

This article draws on data from the General Data Protection Regulation, the German Fiscal Code and the German Commercial Code. Additional sources are the German VAT Act, the German Civil Code, the Federal Ministry of Finance (principles for the proper keeping and retention of books), the Federal Court of Justice, the European Court of Justice, the BSI Act, the Federal Office for Information Security (minimum standard on logging and detection of cyberattacks), the NIS2 Directive, the Cyber Resilience Act and the TDDDG. The figures quoted reflect the state of the respective publication and do not constitute legal advice.

How long may monitoring data be stored?
There is no blanket period. What governs is Article 5(1)(e) of the GDPR: personal data may only be held in identifiable form for as long as the purpose requires (GDPR). In practice, logs with an IP reference typically sit at 7 to 30 days, check logs and image states at 30 to 180 days, incident files at one to three years and accounting vouchers at eight years (German Fiscal Code). What matters is that each of these periods is derived from purpose, evidentiary interest or statute, and justified in writing.
What belongs in a retention policy for website data?
Per data category: the purpose of processing, the legal basis, an assessment of personal reference, the derived period with its rationale, the aggregation tier after the period expires, the technical implementation of the prune run and the responsible unit. Handling of copies and backups belongs in it as well, along with a fixed date for the annual review. Article 30(1)(f) requires the envisaged erasure periods to be kept in the record of processing activities where possible (GDPR).
How long may server and access logs with IP addresses be retained?
There is no statutory period. A seven-day mark is widespread, derived from case law on storing dynamic IP addresses to fend off disruptions to operations (Federal Court of Justice). Whether a longer window is defensible depends on the documented security purpose and on necessity in the individual case. The BSI Act names no minimum period for critical infrastructure; the widespread guide value of 90 days comes from the BSI minimum standard on logging and detection of cyberattacks and applies there to the federal administration (BSI). The documented balancing test under Article 6(1)(f) is the decisive part (GDPR).
Does the eight-year retention duty contradict the storage limitation principle?
No, it is a statutory exception for a narrowly bounded set of documents. Accounting vouchers and invoices must be retained for eight years rather than ten since 2025 (German Fiscal Code, German VAT Act), annual accounts and commercial books still for ten years (German Commercial Code). This duty overrides the erasure duty only for the documents concerned. Measurement data from monitoring are not accounting vouchers and may therefore not be held longer by invoking tax law.
What does aggregation instead of deletion mean?
Instead of keeping raw data or removing it outright, it is rolled into aggregates once the short period expires - for example one daily value per website carrying availability, response time percentiles and error rate. Where the route back to the individual session is cut off, the result is anonymous information to which the data protection principles do not apply (GDPR, Recital 26). Trend analysis is preserved while the risky raw layer stays short.
How does XICTRAQ implement retention periods?
Periods follow the booked plan and are enforced by a daily prune run: raw monitoring data and image states typically at 7, 30, 90 or 180 days, analytics data at 30 or 90 days or unlimited on the larger plans; an add-on extends monitoring retention to 730 days. The interface discloses the same values, so the period can be evidenced towards the data protection officer. Processing and hosting take place in Germany, so no transfer to a third country arises.

Related in XICTRAQ

Start in 60 seconds

Let XICTRAQ watch your website.

Permanent free plan available. No credit card, no installation, no hidden fees.