Legal information
Privacy Policy
Last updated: 18 October 2026. This Privacy Policy explains which personal data is processed when you visit TeamCounter and when you use the native Android app.
1. General information
Protecting personal data is important to me. This Privacy Policy applies to the website teamcounter.net and to the native TeamCounter Android app.
The Google tag for Google Analytics 4 starts on browser pages, including list views, in Advanced Consent Mode. The four consent signals initially start as denied. Mediavine’s consent management with consentmanager then updates the signals according to its region detection, configuration and your privacy choices. In regions using a consent request, Analytics has a separate choice; automatic grants are possible outside those regions. Technical signals without Analytics cookies may be sent while storage is denied; see sections 5.2 and 8.1. Google Tag Manager, social media plugins, a newsletter, comments and user registration are not used.
The contact pages provide a form embedded with WPForms. Cloudflare Turnstile protects it against automated requests and spam; details are in section 12.
TeamCounter can be used free of charge. Mediavine / Journey may be used on this website to finance its operation, hosting, security and further development. Details can be found in the “Online marketing” section of this Privacy Policy.
Cloudflare Web Analytics is used for privacy-friendly reach measurement and technical analysis of the website. According to the provider, Cloudflare Web Analytics is used without cookies, without LocalStorage and without individual fingerprinting.
2. Controller
The controller responsible for the processing described in this Privacy Policy on the website and in the app is:
Maximilian Holstein
Schmiededamm 9
25379 Herzhorn
Germany
Email: teamcounter@holsteinshops.de
Website: https://teamcounter.net/en/
3. Hosting and technical provision
This website is hosted by STRATO.
STRATO GmbH
Otto-Ostrowski-Straße 7
10249 Berlin
Germany
When this website is accessed, STRATO processes technically necessary data in order to provide the website securely, reliably and in working order.
This may include the following data in particular:
- IP address
- date and time of access
- page or file accessed
- amount of data transferred
- browser used
- operating system used
- referrer URL, if transmitted
- status codes and technical access information
This data is processed in server log files. Processing takes place in order to provide the website technically, ensure the stability and security of the systems and detect possible attacks or disruptions.
According to STRATO, visitors’ IP addresses are stored for a maximum of seven days for the detection and prevention of attacks.
The legal basis is Art. 6(1)(f) GDPR. The legitimate interest lies in providing this website securely, reliably and without technical errors.
Further information about data protection at STRATO is available at: https://www.strato.de/datenschutz/
4. Data processing on behalf of the controller
A data processing agreement pursuant to Art. 28 GDPR has been concluded with STRATO.
This is an agreement required under data protection law and is intended to ensure that STRATO processes the personal data of website visitors only in accordance with instructions and in compliance with the GDPR.
Where Cloudflare processes personal data as a processor in connection with the use of Cloudflare Web Analytics, this is done on the basis of Cloudflare’s contractual data processing terms. Cloudflare provides a Data Processing Addendum for this purpose.
The respective privacy and contractual terms apply to Google Analytics 4, Mediavine and its consent management. Sections 5.3, 6.1 and 8.2 describe Mediavine processing; this does not assign a blanket processor role.
Grow processing and the related provider information are described in section 8.2.
5. Use of cookies and comparable technologies
Technically necessary cookies or comparable technical storage may be used where they are required for the operation of the website, for example for technical provision, security functions or the WordPress administration area.
If you actively select the light or dark website design, this setting is stored exclusively in your browser under teamcounter_public_theme_v1. The selection is not transmitted to TeamCounter, is not used for advertising or tracking, and can be removed by deleting the local website data in your browser.
TeamCounter stores local lists only in your browser: title, list type, language, contents and timestamps are kept in the IndexedDB database teamcounter_local or, as a fallback, in LocalStorage under teamcounter_local_lists_v1. For the analysis area of local lists, the browser additionally stores in the database teamcounter_local_analytics, for each change, the list and entry identifier, type of change, difference, new value, any price or value per click and the time; this history is deleted together with the local list. The “My lists” overview stores links to online lists (management and view links and large display links) with display name, list type and time in your browser’s LocalStorage under teamcounter_my_lists_v1 so that you can quickly reopen these lists in this browser; lists that you create in the browser or open with a management link are added there automatically. Under teamcounter_analytics_prefs_v1 the browser remembers the selected period and whether the analysis area is collapsed. TeamCounter does not transfer this data to its server and does not pass it on as its own data to analytics or advertising services; for page context with Mediavine / Journey, see section 6. A management link saved in “My lists” – including in an exported backup – allows the list to be edited and must be protected like a password, especially on shared devices. Entries in “My lists”, including those added automatically, can be deleted at any time with “Remove” or “Clear local overview”, local lists with their delete function and all of this data by deleting the local website data in the browser; the online lists on the server are not affected. Where personal data is processed in this context, the legal basis stated in section 13 applies.
Whether Google Analytics 4 can use _ga and _ga_* depends on the regional Consent Mode signals from Mediavine’s consent management. Where consent is required, cookie-based Analytics measurement requires separate Analytics consent. Sections 5.2 and 8.1 explain regional rules and technical signals without Analytics cookies. Sections 5.1–5.3, 6.1 and 8.2 explain necessary storage of privacy choices and consent-dependent advertising and Grow technologies.
According to Cloudflare, Cloudflare Web Analytics is used without cookies and without LocalStorage. Cloudflare also states that it does not fingerprint visitors by IP address, user agent or other characteristics in order to identify individual visitors.
Grow cookies, identifiers and similar storage or access technologies are covered by section 8.2.
If you use a browser or AI assistant with a local list, it may receive the contents described in section 13.1. Local storage does not prevent a transmission initiated by the browser or assistant you use.
5.1 Consent and choices for website advertising
Mediavine’s consent management offers choices about purposes and vendors, including refusal, in the applicable regions. Advertising technologies requiring consent may be used only with the corresponding choice. Refusal does not necessarily mean no advertising: technically and legally permitted contextual ads may appear. You can change or withdraw your choice for the future through “Cookie and privacy settings” in the footer. Existing browser data can also be deleted in your browser.
5.2 Current website consent configuration
This website uses Mediavine’s consent management with consentmanager and its native Google Consent Mode integration. Google Analytics 4 remains integrated through “Site Kit by Google”. Before the Google tag runs, analytics_storage, ad_storage, ad_user_data and ad_personalization are initially set to denied. The provider integration then sends regional updates: in regions using a consent request, the separate Google Analytics choice (s26) controls the Analytics signal; advertising signals are determined separately using the relevant vendors and purposes. Advertising permission alone does not replace Analytics consent there. Outside the consent regions detected by the provider, signals may automatically change to granted without a prior dialog; regional opt-out rights may apply. A technical grant does not itself establish a lawful basis or replace legally required consent. Technical Analytics signals without Analytics cookies may be sent while storage is denied; see section 8.1. Google AdSense, Google Funding Choices and Google ad blocking recovery are not loaded. The footer link opens Mediavine’s choices; if unavailable, it leads to this policy’s cookie section.
5.3 Android notice and Mediavine consent management
The optional Android notice uses no event tracking. Hiding currently applies to this document only; no dismissal preference is read or stored. List data is not changed or sent to the store.
This website uses consent management provided by Mediavine with consentmanager technology. It processes privacy choices, purpose and vendor permissions, and necessary technical connection data. Loading the required resources may send IP address, browser details and page information to the providers involved. The decision may be stored as a TCF consent signal and in cookies or browser storage.
It covers ordinary browser pages, including online lists, local lists and “My lists”, and excludes native Android app functions. Necessary delivery and storage of the choice support its reliable implementation. Where personal data is involved, the basis is Article 6(1)(f) GDPR; strictly necessary device access follows section 25(2)(2) TDDDG. This does not authorise additional analytics or advertising access requiring consent. Section 6.1 identifies Mediavine and its contact routes.
6. Online marketing
TeamCounter provides simple counting functions without registration and without paid access. To keep TeamCounter free to use in the long term, advertising may be displayed on TeamCounter pages through Mediavine / Journey. The advertising helps to finance the ongoing costs of hosting, security, maintenance and further development of the website.
Use of the TeamCounter functions does not depend on consenting to personalised advertising. Where the consent banner is displayed, you can use it to give or refuse consent or to withdraw it later with effect for the future.
6.1 Mediavine / Journey: website advertising
TeamCounter uses Mediavine / Journey to deliver, select and measure website advertising. The provider is Mediavine, Inc., 8 The Green, #20971, Dover, DE 19901, USA. The advertising script covers ordinary browser pages, including private online lists, local lists and “My lists”; it excludes native app functions, API responses and print/export outputs.
Processing may include IP address, location, device/browser details, language, identifiers, usage and ad interactions, page address and page context. Cookies and similar technologies may be used. Full private page addresses may contain access or management keys allowing reading, editing or deletion. noindex does not prevent this processing. TeamCounter does not supply list contents as separate custom advertising parameters; executing third-party scripts can technically access the open page.
Mediavine describes disclosures to advertising and identity partners, including ad auctions: bidders may receive context and identifier data to value ad opportunities. Providers may combine sources and devices into interest profiles; Mediavine also describes certain disclosures as sales or licensing. Services and purposes depend on configuration and applicable privacy choices. Where consent is required, the basis is Article 6(1)(a) GDPR and section 25(1) TDDDG. Necessary connections for delivering consent management are distinct. Choices can be changed through the footer; privacy@mediavine.com also handles provider rights, including applicable US opt-outs.
The provider states that data is also processed in the USA and refers to Standard Contractual Clauses. Retention depends on service, purpose and recipient. Its current Ad Management/Grow notice specifies browser sessions for ad management and requests to stop or delete for other uses; the Journey advertising notice uses requests to stop as a criterion for interest-based advertising. This does not establish one deletion period for all partners. Details: Mediavine privacy information and Journey advertising notice.
7. WordPress and WPCode
This website is based on WordPress. The WPCode plugin is also used to manage technical code customisations within WordPress.
WPCode may be used on this website to include custom technical functions, CSS, JavaScript or PHP snippets.
Google Analytics 4 is integrated through “Site Kit by Google”. Cloudflare Web Analytics and the initial Google Consent Mode signals are integrated through website customisations. The original asynchronous Mediavine / Journey script is included in the WordPress page head and also loads Grow; Mediavine provides consent management and regional Consent Mode updates with consentmanager. Google AdSense, Google Funding Choices and Google ad blocking recovery remain disabled.
The use of external services, scripts or comparable third-party technologies is described in this Privacy Policy.
If additional external services, tracking scripts, embedded content, marketing services or similar third-party technologies are integrated through WPCode in the future, this Privacy Policy must be updated accordingly.
Grow is loaded by the Mediavine / Journey script. Mediavine's consent management controls which components run before or after a privacy choice; see section 8.2.
8. Cloudflare Web Analytics
This website uses Cloudflare Web Analytics, a privacy-friendly web analytics service provided by Cloudflare, Inc., 101 Townsend Street, San Francisco, CA 94107, USA.
Cloudflare Web Analytics is used to better understand the use and technical performance of this website. The analysis helps in particular to determine which pages are accessed, whether the website works without technical errors and how the website performs in terms of loading times and performance metrics.
According to Cloudflare, Cloudflare Web Analytics is used without cookies, without LocalStorage and without individual fingerprinting. Cloudflare also states that it does not track individual end users across the different online services of its customers.
When Cloudflare Web Analytics is used, a JavaScript script is loaded from Cloudflare. This script is usually provided through the following address: https://static.cloudflareinsights.com/beacon.min.js
The script may process the following usage and performance data in particular:
- page accessed or URL path
- website hostname
- referrer, if transmitted
- country of access
- device type, for example desktop computer, smartphone or tablet
- browser used
- operating system used
- technical website performance metrics, for example loading times and Core Web Vitals
- technical information about the page view
Cloudflare Web Analytics is not used to identify individual visitors personally. No advertising profiles are created and no personal analysis of individual users takes place.
When the Cloudflare script is retrieved and measurement data is transmitted, Cloudflare may technically process connection data. This may include IP addresses or comparable technical access data where required to provide and secure the service.
Cloudflare states that it stores unsampled beacon data for seven days and then aggregates it for longer-term analysis.
The legal basis for the use of Cloudflare Web Analytics is Art. 6(1)(f) GDPR. The legitimate interest lies in data-minimising reach measurement, technical optimisation, error analysis and improving the user-friendliness of this website.
Where personal data is transferred to the United States or other third countries in connection with Cloudflare Web Analytics, Cloudflare states that this is done on the basis of appropriate data protection safeguards, in particular the Cloudflare Data Processing Addendum, the EU-U.S. Data Privacy Framework where applicable, and the European Commission’s Standard Contractual Clauses where required.
Further information about Cloudflare Web Analytics is available at: https://www.cloudflare.com/web-analytics/
Further information about data protection at Cloudflare is available at: https://www.cloudflare.com/policies/privacy/
Information about the Cloudflare Data Processing Addendum is available at: https://www.cloudflare.com/cloudflare-customer-dpa/
8.1 Google Analytics 4 and Google tag
On all pages of the website, including online and local list views, TeamCounter uses Google Analytics 4 through the Google tag integrated with the WordPress plugin “Site Kit by Google” (current tag ID GT-TBZR9JVQ). The provider is Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland. Google LLC in the United States may also act as parent company or technical service provider.
The purpose is reach measurement under the applicable regional privacy settings, understanding the use of public information and function pages, detecting technical problems and improving usability. Depending on the device and configuration, Google may process a generated client identifier, IP address and approximate location derived from it, browser, device, operating system, language, consent state, time of access and interaction or diagnostic events. Google states that IP addresses are not logged or stored in Analytics in full.
The Google tag uses Advanced Consent Mode. The four signals analytics_storage, ad_storage, ad_user_data and ad_personalization initially start as denied. Subsequent updates come from Mediavine’s native consentmanager integration under the regional rules in section 5.2; Analytics and advertising signals are controlled separately. Automatic grants are possible outside detected consent regions. While analytics_storage is denied, Google may receive technical signals without Analytics cookies, including consent status, IP address, browser/device and page information; Google states these can support modelled measurement. No Analytics cookies are written or read, and Google states that IP addresses are not logged or stored. Where these limited signals are personal data, TeamCounter relies on Article 6(1)(f) GDPR: implementing privacy choices, secure operation and aggregate or modelled measurement without Analytics identifiers. URL neutralisation described below and denied storage signals limit the impact. This does not permit non-essential device access. Where consent is required, cookie-based measurement follows consent under Article 6(1)(a) GDPR and section 25(1) TDDDG. Section 19 explains objection rights.
Analytics also runs on list, management, view and presentation pages, on local lists and in “My lists”, but not in the native app or in export and print files. On these list and tool pages TeamCounter replaces the page address before measurement with a neutral address without list ID, access key, query string or fragment (for example /en/list/drinks/manage/) and the page title with a generic label. A referrer from such pages is shortened to the domain, and TeamCounter forms on these pages report only the neutral address as their destination. List IDs, tokens, user-defined list names, list contents and browser-stored list links are not passed to Analytics by TeamCounter.
Google signals and ad-personalisation signals are disabled in TeamCounter’s Google tag configuration. This is separate from the regional consent signals for Mediavine advertising. When Analytics storage is allowed, _ga and _ga_* may distinguish visits and sessions; where required, this follows separate Analytics consent. The footer provides the settings and opt-out choices available for your region. Consent can be withdrawn there for the future; existing cookies can be deleted in the browser.
Retention of user- and event-level data depends on the period configured in the Google Analytics property. For standard properties, Google currently offers 2 or 14 months. The configured period is the applicable retention criterion; according to Google, affected data is automatically deleted after the period expires. Standard aggregated reports are not affected by this setting and may remain available for longer.
To analyse successful website use, TeamCounter also records when a list is successfully created. The list type (tally list, scoreboard, drink list, attendance list or value counter) and storage mode (local or online) are sent to Google Analytics. Collection follows the consent and Consent Mode settings described above. List contents, user-defined list names, list IDs and access keys are not sent as event parameters.
To evaluate ad placement, TeamCounter also records when a Mediavine / Journey ad was served or became viewable on the page. Only the ad format (in-content, sidebar, bottom bar or other), the status (served or viewable) and the page type (list, guide, tool, home page or other) are sent to Google Analytics; on list and tool pages the neutral page address described above applies. Ad content, advertising identifiers, prices, list contents, list IDs and access keys are not sent. This measurement follows the consent and Consent Mode settings described above.
The GA4 property for this website is currently configured to retain event data for 14 months and user data for 14 months. Resetting the user retention period on new activity is enabled: each new event from a user restarts the retention period for that user’s identifier. This extension applies to user-level data; it does not automatically retain previously collected event data for another 14 months. Data whose applicable retention period has expired is removed in Google’s monthly deletion cycle. The retention setting does not apply to standard aggregated reports, which may remain available for longer.
Google may process data in third countries, in particular the United States. Where applicable, Google relies on the EU-US Data Privacy Framework and additional safeguards such as Standard Contractual Clauses. Further information is available at https://support.google.com/analytics/answer/11593727, https://business.safety.google/privacy/ and https://policies.google.com/privacy.
8.2 Grow: audience measurement for Journey
TeamCounter uses Grow, provided by Mediavine, Inc., 8 The Green, #20971, Dover, DE 19901, USA, to measure audience and assess website use in connection with Journey. Grow is loaded by the Mediavine / Journey script (including via scripts.grow.me) and covers ordinary browser pages, including private online lists, local lists and “My lists”. It excludes native functions of the Android app, API responses and print/export outputs.
Processing may include IP address, location, device/browser information, operating system, language, identifiers, time, referrer and full page address. Grow may use cookies and similar storage/access technologies. A private list address may contain a viewing or management key. Such a link may allow reading and, for management links, changing or deleting the list. Private lists remain marked noindex, which does not prevent Grow from processing the address. TeamCounter does not submit list contents as separate custom measurement parameters; this does not restrict the technical capabilities of the executing third-party script.
Mediavine's consent management controls which Grow components load before a privacy choice, after consent or after a refusal; Mediavine is listed there as vendor 858. In our technical check on 18 October 2026 (visit from the EU), Grow loaded basic components as well as requests for configuration, location and privacy information before any choice, and some components also after a refusal; it loaded an additional identity service only after consent. Where consent is required, the legal basis is Article 6(1)(a) GDPR and, for non-essential device storage/access, section 25(1) TDDDG. You can change or withdraw your choice for the future through “Cookie and privacy settings” in the footer. Withdrawal does not reverse earlier transmissions or automatically erase provider data. Withdrawal does not affect the lawfulness of earlier processing.
Mediavine receives the data. Its information describes, depending on service and consent, advertising, identification, profiles and audiences, and disclosures to advertising, identity and other partners. This does not mean every described feature is enabled on TeamCounter. The provider collects names and emails particularly when creating a Grow account or signing up for subscription/access features; loading a page alone does not establish such a signup. Further information: Legal Center and partner list.
Mediavine states that ad-management processing lasts for the browser session; other uses continue until a request to stop or delete, plus a short implementation period. We therefore do not promise Grow data is erased when a page closes. The provider states that data is also processed and stored in the USA and refers to Standard Contractual Clauses and its published contractual/privacy information. Information on applicable safeguards and privacy requests is available through the Legal Center and privacy@mediavine.com. The other rights and contact routes in this policy continue to apply.
9. Google Search Console and Bing Webmaster Tools
Google Search Console and Bing Webmaster Tools may be used for technical search engine optimisation and to monitor how easily this website can be found.
Google Search Console is a service provided by Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland. Bing Webmaster Tools is a service provided by Microsoft Corporation, One Microsoft Way, Redmond, WA 98052-6399, USA, or by the applicable Microsoft entity.
These services help to monitor the website’s presence in search engines, identify indexing problems, check crawling errors and analyse search performance data. The following data in particular may be displayed or processed for this purpose:
- search queries through which pages on this website were found
- clicks, impressions, click-through rate and average position in search results
- affected page URLs
- indexing status, crawling errors and technical information
- information about sitemaps and search engine crawling
Google Search Console and Bing Webmaster Tools do not set their own analytics cookie or use their own tracking script on this website to analyse visitors. Website verification may be carried out technically through an HTML file, a DNS record or a meta tag.
Processing takes place on the basis of Art. 6(1)(f) GDPR. The legitimate interest lies in technical search engine optimisation, error analysis, discoverability and secure administration of the website.
Further information is available from Google at https://support.google.com/webmasters/answer/10268906 and in Google’s Privacy Policy at https://policies.google.com/privacy.
Further information about Bing Webmaster Tools is available at https://www.bing.com/webmasters/help/search-performance-c680da36 and in Microsoft’s Privacy Statement at https://privacy.microsoft.com/privacystatement.
10. Wordfence Security
This website may use the WordPress security plugin Wordfence Security. The provider is Defiant, Inc., USA.
Wordfence is used to protect the website against attacks, malicious code, unauthorised login attempts, brute-force attacks, suspicious bot traffic and other security-relevant access. For this purpose, Wordfence provides in particular a web application firewall, a malware scanner, login security functions, blocking functions and security logs.
For security purposes, Wordfence may process the following data in particular:
- IP address of the accessing device
- date and time of access
- URL accessed or file requested
- referrer URL, if transmitted
- browser, user agent, operating system and technical header information
- information about suspicious or blocked requests
- information about login attempts, for example user names used in failed login attempts
- technical security events, firewall hits, blocks and scan results
According to the provider, Wordfence must determine a visitor’s IP address in order to apply security functions such as firewall rules, blocks and brute-force protection correctly. Wordfence may also record server-side access in its “Live Traffic” function. This recording may include access that would not be recorded by analytics tools based solely on JavaScript, for example bot or crawler access.
Wordfence may set technically necessary cookies, in particular in connection with the firewall, the detection of logged-in WordPress users and login security functions. These cookies are not used for marketing or advertising, but to secure the website. For normal visitors without a WordPress login, these functions are generally relevant only to the extent necessary to detect and prevent security-relevant requests.
Wordfence may store security and Live Traffic data in the WordPress database. The storage period depends on the Wordfence settings and the relevant security purpose. According to Wordfence, Live Traffic can be limited by number of entries and by days; by default, the maximum retention period for Live Traffic data is 30 days.
As part of security functions, updates, firewall rules, malware signatures, IP reputation queries or similar Wordfence services, communication with Defiant servers may take place. Technical data such as IP addresses, website URL, plugin or system information or security-relevant access data may be processed where required to provide and secure the service.
The legal basis for using Wordfence is Art. 6(1)(f) GDPR. The legitimate interest lies in securing the website, defending against attacks, detecting malicious code, preventing abusive access and protecting data stored on this website.
Where personal data is transferred to the United States or other third countries in connection with Wordfence, this is done on the basis of appropriate data protection safeguards, in particular the Standard Contractual Clauses or data protection terms provided by Defiant, where required.
Further information about Wordfence and privacy is available at: https://www.wordfence.com/privacy-policy/
Wordfence information about the GDPR is available at: https://www.wordfence.com/help/general-data-protection-regulation/
Information about the Wordfence Standard Contractual Clauses is available at: https://www.wordfence.com/standard-contractual-clauses/
11. No other analytics, advertising or tracking services beyond the services listed
Apart from Cloudflare Web Analytics, Grow for Journey audience measurement as described in section 8.2, consent-controlled Google Analytics 4, Mediavine / Journey including its consent management, the clearly labelled affiliate text links described in this privacy policy, Google AdMob, UMP and Firebase Analytics in the Android app, the search engine webmaster tools mentioned and Cloudflare Turnstile as spam protection for the contact form, Wordfence as a security service, no other analytics, advertising or tracking services are used.
In particular, the following are not used:
- Google Tag Manager
- Meta Pixel
- Microsoft Clarity
- Matomo
- Hotjar
- affiliate tracking scripts
- social media tracking
12. Contact form, spam protection and no user accounts
You can contact TeamCounter through a form embedded with WPForms on the contact pages. Information entered in the displayed fields, particularly contact details you provide and the content of your enquiry, is processed to handle and answer it. The website and the hosting and email services needed for delivery are involved in technical processing. The legal basis and deletion criteria are in section 15.
Cloudflare Turnstile
The contact form uses Cloudflare Turnstile, provided by Cloudflare, Inc., USA, to prevent automated requests and spam. When the check loads and runs, Cloudflare may process technical signals such as the IP address, TLS connection characteristics, browser identifier (User-Agent), public site key and associated origin domain. Cloudflare states that these signals are used to detect and block bots. It acts as a processor to protect the website and as an independent controller to improve bot detection.
Processing to secure the form is based on Art. 6(1)(f) GDPR; the legitimate interest is preventing spam and abuse and handling enquiries securely. Where access to information on a device is strictly necessary to provide the service expressly requested by the user securely, Section 25(2) No. 2 TDDDG applies; access that is not necessary requires consent under Section 25(1) TDDDG. Turnstile does not grant consent to analytics or advertising.
Depending on configuration, Turnstile may examine browser information and use security cookies; cf_clearance may be set when pre-clearance is enabled. Processing in the USA or other third countries is possible. Cloudflare describes processing and the applicable transfer safeguards, including standard contractual clauses and the Data Privacy Framework, in its Turnstile Privacy Addendum and Data Processing Addendum. The seven-day period stated for Cloudflare Web Analytics is not a Turnstile retention period.
If the security check cannot be completed, form submission may be prevented. You can alternatively email TeamCounter at teamcounter@holsteinshops.de. Provide only information needed for your enquiry and avoid unnecessary sensitive data.
Comments and public user registration are disabled. Visitors cannot create their own user accounts or publish comments on this website.
13. Use of TeamCounter functions
TeamCounter provides simple online functions for creating and using digital counters, tally lists or comparable lists.
Depending on how the service is used, users can enter their own labels, categories, counter values, list names or similar content. These entries may contain personal data if users enter real names or other information relating to people, for example.
Users are asked not to enter sensitive personal data. In particular, confidential, health-related, political, religious or other data requiring special protection should not be entered. Wherever possible, first names, initials or neutral labels should be used for simple counting processes.
When a tally list or one of the additional tools is created through TeamCounter, the list data required for it is stored in the WordPress database. Depending on the function used, this includes in particular:
- list ID or tool ID
- management token for the management link
- name or title of the list
- counter names, task labels, team names, personal names or participant names, where entered voluntarily
- counter values, starting values, optional target values and totals
- for scoreboards: teams or people, points, colours and winner marking
- for drinks lists: people, number of entries, price per entry and calculated totals
- for attendance lists: participants, attendance status, date and saved appointments or history entries
- for value counters: categories, value per click, number, period, note and calculated totals
- creation time, time of last edit and time of last activity
Where TeamCounter stores lists, counter values or similar content, this takes place to provide the function requested by the user, for example saving, sharing or subsequently retrieving a list.
For the analysis area of opened online lists, TeamCounter additionally keeps a change log in the WordPress database for tally lists, scoreboards, drinks lists and value counters, including for changes made through the Android app. For each change, only the list type, list ID, entry identifier, type of change, difference, new value, any price or value per click at the time of the change and the time (UTC) are stored, but no IP address, no browser, device or personal identifier and no entry names. Attendance lists evaluate their saved appointments and do not need this log. The analysis calculated from it can be retrieved, like the list itself, by anyone with the view or management link. The change log is kept for as long as the list: if the list is deleted through the management link, TeamCounter automatically deletes its change log as well; if the list is deleted on request, the operator removes the change log together with the list.
Created lists cannot be found through a public overview. However, they are technically accessible to anyone who knows the corresponding link. The view link permits the list to be read. The management link also permits entries to be changed, counted and added. Users should therefore share management links only with people who are allowed to change the corresponding list.
Specific list URLs and private tool URLs are not intended to be publicly indexed. Where technically provided, such URLs are marked noindex,nofollow and are not intentionally included in public sitemaps. Absolute secrecy cannot be guaranteed for shared links, however, because anyone with the link can access the corresponding list.
The legal basis is Art. 6(1)(b) GDPR where processing is necessary to provide the function requested by the user. Processing may additionally be based on Art. 6(1)(f) GDPR. The legitimate interest lies in providing the online tool in a functional, secure and user-friendly manner.
TeamCounter currently does not delete lists automatically merely because a fixed inactivity period has expired. A list remains stored until it is permanently deleted through the management link, a justified deletion request is processed or a statutory deletion obligation is implemented.
Deletion can be requested informally by email to teamcounter@holsteinshops.de. Please initially provide the list/tool ID or view link so that the relevant list can be identified. A management link should be sent only if it is required for unambiguous identification after an explicit request; it allows changes and must be treated like a password.
Technical protection of the API against abuse
To limit excessively frequent creation and modification requests, TeamCounter derives a shortened SHA-256 key from the technically transmitted IP address and a secret server-specific value (salt). This key is pseudonymous, not anonymous. WordPress stores it with a request counter and expiry time in a time-limited storage entry (transient); the IP address is not stored in plain text in that entry for this limitation. The purpose is to prevent automated overload and abuse and to provide the list API securely. The legal basis is Art. 6(1)(f) GDPR; the legitimate interest is protecting the functioning of the service and the stored lists. The default configuration uses one hour for creation requests and one minute for modification requests; the actual configured time window is decisive and may be set differently. After it expires, the counter is recreated for new requests. Technical cleanup of expired WordPress storage entries may occur later; immediate physical deletion is not promised. These entries are not used for advertising or usage profiles.
13.1 Browser assistants and WebMCP
In supporting browsers, TeamCounter provides structured tools for browser and AI assistants (WebMCP). The tools are registered in the browser when suitable pages are opened; invoking a tool performs a list function. The calling browser or assistant may receive the title, entry names, counts and, depending on the list type, targets, prices or values, attendance status and summarised history entries, date, period or notes. This also applies to local browser lists. Existing editing permission also allows creation, additions, renaming and changes. A view link does not grant editing permission. Structured responses contain no management tokens; any share links returned allow viewing only. This does not restrict other access available to the browser or assistant you use.
Using an assistant is optional; the normal controls remain available. The legal bases and deletion criteria in this section apply to the processing and storage this triggers by TeamCounter. Using an assistant does not give consent to advertising or Analytics.
Through this integration, TeamCounter does not itself call an AI API or use the list contents supplied through it to train its own models. Whether your browser or assistant transmits received data to external providers, including in third countries, how long it is retained and whether it is used to improve models depends on the selected service and its settings. Check its privacy terms and permissions. Only share confidential information or other people's personal data if you are authorised to do so.
13.2 Sharing in the browser
When you select a WhatsApp, Teams or email sharing button, the selected list link is passed to that service or email application. A management link contains the key for editing or deletion; share it only with authorised recipients. Recipients and, where applicable, their service providers may process the link. QR codes are generated locally in the browser without sending them to an external QR service. The selected service's terms govern subsequent processing.
14. Native Android app and local app area
TeamCounter is also provided as a native Android app through Google Play and the Amazon Appstore. The Google Play-specific functions described below — In-App Reviews, In-App Updates and Google Play Billing — apply only to the version distributed through Google Play. The Amazon Appstore version contains no in-app purchases. The app does not display TeamCounter through a WebView, PWA or visible browser window. Its interface and navigation consist of native Android views. For current values of server-based lists, collaborative editing and the creation of those lists, the app communicates exclusively through encrypted HTTPS requests with the TeamCounter API on teamcounter.net. The local offline click counter does not require this API.
The app text is maintained in German and English. Google Play automatically translates it into 24 other languages: Bulgarian, Chinese (Simplified), Croatian, Czech, Danish, Dutch, Finnish, French, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Turkish and Ukrainian.
The app requires internet access and network-status access for online lists, consent management and advertising. The normal RECEIVE_BOOT_COMPLETED permission is used exclusively to reschedule already configured, token-free widget work and expressly configured automatic count periods after a device restart. Following an app update, the separate MY_PACKAGE_REPLACED system broadcast serves the same purpose. The scheduled work contains no token; for an expressly configured online update or a due period transition, the required management link is read from encrypted local storage only when the work runs. The AD_ID permission belongs to Google AdMob. Included Google and Android libraries may also add technical permissions for AdServices or Privacy Sandbox, basic phone state, wake locks and a WorkManager foreground service to the merged manifest. These permissions do not trigger a dangerous runtime permission dialog; TeamCounter does not request runtime access to the camera, microphone, precise location, contacts, call logs, telephony, SMS, calendar, photos, files or Bluetooth.
The app does not create a TeamCounter user account or a separate TeamCounter user profile. Content in server-based lists, such as list names, person or team labels, categories, values and counts, is processed on TeamCounter servers to provide the selected online function as described in section 13.
Depending on the online action deliberately selected, the app sends to the TeamCounter API in particular the list or tool ID, management or access token, title, list type, language, base URL, action, expected state and the required list or tool content. Technical request information includes the app version in the User-Agent, language, security nonce and connection information. This may also cause the server or hosting provider to process the IP address, time, requested endpoint, status code and other server-log data described in section 3.
The “My lists” area stores TeamCounter list links and associated convenience metadata locally on the device. This may include a management or view link, display name, list type, short summary, origin, and creation, modification and last-opened times. These records are encrypted using a key from the Android Keystore. Management links permit a list to be edited and should therefore be protected like a password.
An additional local feature store may contain, for each server-based list, favourite, archive, pinning, selected metric, view type, sorting and zero-value filter, as well as bounded local states for write operations, undo actions, sessions, rules, templates and recently loaded list data where those functions are expressly used. These local data support the native user experience; they do not replace the server-based list and are not synchronised between devices as a TeamCounter account. The respective payloads are encrypted using keys from the Android Keystore. For database operation and integrity verification, technical row identifiers, pseudonymous references and status, time and revision information are also kept unencrypted in the app's private database area; each row, including its encrypted payload, is authenticated with an HMAC.
Non-sensitive app settings, in particular the selected colour scheme, language, compact display, keep-screen-awake option and completion state of the introduction, are stored in private app storage. For the voluntary rewarded feature, the absolute expiry time of the 30-minute ad suspension, the local calendar-day key and the number of successfully completed rewarded ads on that day are also stored there. For interstitial limits, the app additionally stores a count capped at two relevant list uses, the local calendar day, the number of ad slots reserved on that day and the time of the most recent such reservation. For the app open ad limits, the app stores there the time of the most recently reserved app open ad, the local calendar day and the number of app open ads reserved on that day. The Google Play edition stores only two Boolean values for the one-time purchase that permanently removes advertising: whether ownership has already been checked and whether the entitlement is active. Premium separately stores whether subscription ownership is known and active, whether automatic renewal was reported and when Google Play last verified that state. A positive Premium cache is used for no more than 72 hours and is treated as invalid if the device clock moves backwards. Purchase tokens and order numbers are not stored permanently in app storage. These primitive values are not synchronised with a TeamCounter account or TeamCounter cloud. Premium design selections are stored locally and separately from the list data itself; they remain saved while a subscription is inactive but are not applied then. A widget configuration stores only the local identifiers and settings needed for the selected widget, such as widget ID, mode, list type and public list or item IDs, selected title, appearance, an optionally selected Premium colour palette and technical revision states. It contains neither a management link nor access token or its own shadow copy of list values. Following a deliberate user action, widget actions may update the relevant online list through the TeamCounter API. Instead of a list, a quick score widget stores only the local identifier of the selected quick score; its plus, minus and undo actions change only the locally stored quick score and send nothing to any server. Names and scores of the selected quick score are visible on the home screen.
The additional offline click-counter feature is technically separate and exclusively local. For each click counter, the selected name, current count, start or reset value, positive or negative step rule, and exactly the action and previous value required for the most recent undo are held in the encrypted payload. A random local ID, creation, modification and last-use times, and local revision are additionally kept as technical, unencrypted database fields in private app storage; the complete row is authenticated with an HMAC. Favourite and archive status are assigned locally according to the same principle. There is no unlimited tap-by-tap history.
Click-counter data are neither synchronised with TeamCounter servers nor sent as content to analytics or advertising services. Independently of this, the normal consent-dependent AdMob banner may trigger an ad request on the click-counter page; the name, count, start value, step rule and undo data are not attached to that request. Deleting a click counter removes only that local record and its local organisational state.
The quick counter is a standalone offline tool without any connection to lists or click counters. It stores only in the private app storage of the device the current count, the chosen step size, the settings for haptic confirmation and “Keep screen on”, an optional name of the running count and at most 20 finished counts with final value, step size, time and optional name. These data are neither synchronised with TeamCounter servers nor sent to analytics or advertising services, are not included in the manual backup file and are removed when the history is cleared, the app storage is cleared or the app is uninstalled. The volume keys are only evaluated while the quick counter is visibly open. The consent-dependent AdMob banners that may appear on the quick counter receive neither counts nor names.
The quick score is a standalone offline mode without any connection to lists, click counters or the quick counter; if desired, it can also be used through a home-screen widget. It stores only in the private app storage of the device at most 20 quick scores with name, teams or people including their order and colour, current scores, start value, step size, the setting for negative points, creation and change time and, per quick score, at most 100 recent score changes (participant, old and new value, time) for “Undo”; in addition the settings for haptic feedback and “Keep screen on during the game” and the quick score opened last. These data are neither synchronised with TeamCounter servers nor sent to analytics or advertising services, are not included in the manual backup file and are removed when the respective quick score is deleted, the app storage is cleared or the app is uninstalled. The consent-dependent AdMob banners and the native ad card that may appear on the quick score receive neither scores nor names.
To bound the positive Premium cache, the app additionally keeps token-free time and system-start guard values, in particular verified wall-clock and elapsed-time values and the system boot count; a local expiry job additionally limits the use of Premium widget colours. For deliberately triggered widget actions, the app keeps a bounded token-free queue with local action, counter, widget or instance identifiers and the action type, time, revision or lifecycle value and retry count. This queue contains no counter value, name, link or access token.
Android cloud backup and Android device transfer are disabled for the app; databases and Shared Preferences are additionally excluded by the corresponding backup rules. If the app is uninstalled or its storage is cleared, local links, click counters, settings and feature states are lost. This does not automatically delete the actual online lists on the TeamCounter server.
Independently of this, users can deliberately create a manual TeamCounter backup file in Settings at a storage location they select through the Android document provider. This file is not encrypted. It contains the local offline click counters and templates stored in the app at export time, together with freshly server-read, identity-bound and token-free content copies of every saved online list, provided that each list is fully reachable and can be validated. Such a content copy may include entries, rules, sessions, history, favourite/archive status, visualisation and currency settings, and an inactive, read-only record of the automatic schedule. If even one saved online list cannot be captured completely and safely, or TeamCounter detects a local list change while the file is being prepared, the complete backup file is not written. The fully prepared, token-free file is briefly staged in the app's private cache before the destination is selected and removed after success, cancellation or a detected failure. Only an abrupt process termination can leave an orphaned artifact; it is cleaned up on a later app start once it is older than 24 hours. Management and view links, access tokens, widget state, purchase and entitlement data, advertising, analytics and consent data, and temporary operations are not included.
Before import, a selected backup file is validated in full for format, version, scope and checksum. Selected offline click counters and templates are created only under new local identifiers without overwriting existing content. A backed-up online list is imported as a new local template with an embedded read-only archive of its sessions, history and settings. This neither reconnects to nor overwrites the original server list and does not enable a saved automatic schedule. The user can subsequently make a deliberate choice to create an independent new online list from the new template; the read-only archive is not falsely assigned to that new server list. Users should keep backup files secure because they may contain freely entered content. Following deliberate transfer to a document provider, that provider's storage and privacy terms also apply.
For the CSV/PDF export paths described below, the following applies: in the Google Play edition they are available only while Premium is active; in the Amazon Appstore edition they remain available because no Premium subscription is offered there. For an open online list, users can deliberately create a CSV file or a PDF report. The CSV file contains the current list snapshot together with the complete selected locally stored history, rules and sessions. The PDF report contains only the current list entries, list type, period and creation-time information, and a summary; history, rules and sessions are not included in this PDF report. In the Google Play edition, users with active Premium can additionally create an analysis CSV or analysis PDF. These additional reports contain the current list snapshot and activity metrics calculated from locally stored history, such as the number and period of local changes, active days and activity by entry. Where comparable completed local sessions exist, the reports may also include the session name, period, baseline value, result and difference. Raw history and session records are not copied into the Premium reports. For an offline click counter, the user can create a CSV file containing its name, current value, start value, step rule, counting direction, and creation, modification and last-use times; individual click history that is not stored is not added. These formats include no management or view links or access tokens. The app creates a file only after the respective user action and passes it to the selected Android document provider for saving or, when sharing a PDF report, to a destination app chosen through the Android chooser. Following that transfer, the privacy terms of the selected storage provider or destination app also apply.
Sharing, copying and QR-code generation take place only following an explicit user action. The app marks a management link copied to the Android clipboard as sensitive and attempts to remove it after 60 seconds or when the Activity ends normally, provided that it is still there unchanged. The operating system and device manufacturer ultimately control the clipboard, so automatic removal cannot be guaranteed if the process ends abruptly. A QR code contains only the validated view link, is stored temporarily in the private app cache, and can be passed to a user-selected app or storage location only after a further choice. QR files older than 24 hours are cleaned up when another QR code is generated; the operating system may remove cache files independently. After a deliberate transfer, the privacy terms of the selected destination app or storage provider also apply.
Only the Google Play edition contains the manually accessible “Rate TeamCounter” menu item. After the first qualified uses of the app, that edition may also display the same app-owned neutral reminder automatically at a suitable natural pause. “Later”, Back and dismiss close the window; TeamCounter then stores only the technical throttling state described in section 14c and no rating status. Only “Rate on Google Play” opens the Google Play app or, as a fallback, the canonical Play webpage with the public package ID and no TeamCounter tracking parameters after the neutral click state has first been stored locally. The app-owned window contains no star selector and asks for neither opinion nor sentiment. The Amazon Appstore edition contains neither this rating menu item nor the automatic window and stores no new Google Play prompt state for it. Further processing after the deliberate opening is performed by Google Play or the selected browser.
After a support category is selected, the app creates a fully visible diagnostic preview only locally and temporarily. It contains the app version, version code, Android version and API level, device model, selected support category and UTC time. The diagnostic contains no list or counter data, TeamCounter links, access tokens, logs or free-form app content. Only after another deliberate selection does “Contact support” open the installed email client with teamcounter@holsteinshops.de as the recipient and pass the category and diagnostic preview into an email draft. TeamCounter does not thereby send a message; the user can review, edit or discard it in the selected client. When the user deliberately opens the draft, the selected email app receives the support category and diagnostic data. Depending on the selected app, email account and synchronisation settings, the email service provider may process or synchronise the draft before it is sent. The intended recipient receives the information only when the user deliberately sends the message. The selected provider's terms and section 15 apply to this processing.
Local storage is used for app functions expressly selected by the user. Where information is stored on or read from the device for this purpose, this constitutes technically necessary or expressly requested storage within the meaning of Section 25(2) No. 2 TDDDG. Where personal data is involved, processing takes place to provide the requested function on the basis of Art. 6(1)(b) GDPR and additionally Art. 6(1)(f) GDPR; the legitimate interest is a secure, fast and user-friendly app experience.
Users can remove individual locally stored links, click counters and other local states through the provided app functions or clear app storage through Android. Removing an item from “My lists” deletes only the local reference on this device and not the actual TeamCounter server list. A server list is permanently deleted only through the separate delete function using the management link or following a justified deletion request.
14a. Google AdMob / advertising in the Android app
The native Android app contains the Google Mobile Ads Next-Gen SDK and the Google User Messaging Platform (UMP). The app displays advertising through Google AdMob to help finance its operation, maintenance and further development. On app pages, a responsive ad banner clearly labelled “Ad” may appear at a fixed position in the scrollable page content directly after the heading and introduction. No advertising is shown in the app's legal overview, Privacy Policy and Legal Notice. On the dashboard, exactly one additional, clearly labelled native ad card may appear directly after “Latest activity” and before “Favorites” once the dashboard's list sections have been fully built. On “My lists”, the responsive banner may appear near the top of the page once a verified saved-list inventory is available. In addition, a native ad card may appear in the scrollable content when at least one saved list is visible on the first results page: directly after the last list card when one or two lists are visible, and directly after the third list card when three or more lists are visible. The banner and the applicable native ad card may be shown at the same time on the dashboard or in this reviewed “My lists” case. If the applicable native slot does not exist or no native ad is available, only the responsive banner placement may remain. On the quick score, exactly one clearly labelled native ad card may appear at the end of the page after “My quick scores”, far below the plus and minus buttons; a card already loaded there may be shown again when the quick score is reopened within one hour. In addition, responsive banners clearly labelled “Ad” may appear at further fixed positions in the scrollable content: on the dashboard between “Create a new list” and “Continue counting” or, while no list is saved yet, before “Your lists”, on “My lists” after the filter, sort and search area before the first list card or before the hint about missing lists and, when enough lists are shown, within the list view roughly after the fourth and eighth list card, on the “New” page after the list types, on the offline click counter after “Undo” and before “Export & report”, on the quick counter after “Finish count” and before “Recent counts”, on the quick score after “Edit” and “Reset” or, while no quick score exists yet, after “Create quick score”, and, once at least two quick scores are saved, after the settings before “My quick scores”, and in opened lists before “Session” and before “Share & display”. Real list or page content always separates two ad elements, and non-clickable spacing separates the banners from controls. Banners further down the page are only requested shortly before they scroll into view. A normal full-screen interstitial may appear only at the natural transitions described below. Rewarded interstitial ads are not requested.
In Settings, users may voluntarily choose “Watch ad”. Only this deliberate click may open a normal full-screen rewarded ad; it never appears automatically and does not lock any core TeamCounter feature. Only the callback issued by Google for an actually earned reward suspends advertising in the app for exactly 30 minutes and increases the local daily counter. Closing early, merely opening the ad, an impression, click, load failure or lack of availability does not suspend advertising and does not increase the counter. No more than three successful rewards are available per local calendar day; while advertising is already suspended, no further rewarded ad is offered and time is not stacked. There is no user account, cloud synchronisation or server-side reward verification for this feature.
The interstitial is never displayed while counting, saving or another user action is in progress. It may only appear after at least two relevant uses (opening an online list or a local click counter, counting in the quick counter or the quick score, finishing a quick count or resetting a quick score that has points), when such a used view is left for the list overview or the dashboard. On the quick counter it may also appear right after a non-empty count is deliberately finished (“Finish count”), but never while counting, not when counting continues immediately and never while the touch lock is active. On the quick score it may likewise appear right after a confirmed reset of a score with points, but never while counting and not when counting continues immediately. At least 90 seconds must pass after an interstitial was actually shown, and no more than eight such ads are shown per local calendar day. An interstitial is opened only from an ad object that is already loaded in memory. If no ad is ready or a load or display error occurs, the list overview remains usable without delay. Immediately before the display call, the app durably reserves the applicable daily slot and cooldown so that concurrent or faulty SDK callbacks cannot exceed the limits. If the SDK reliably reports failure before display began, the app attempts to durably roll back that reservation; once display or an impression has been reported, or the ad is dismissed normally, it remains consumed. If safe rollback cannot be confirmed because of a storage error, the slot also remains consumed as a precaution.
In addition, a full-screen app open ad (Google AdMob app open ad) may appear, but only when users return to TeamCounter after at least one minute in the background. It is not shown when the app is started from a closed state, during the first 48 hours after installation, on the quick counter, on the quick score, on the Premium page, while a dialog is open, during text input or while another user action is in progress. It appears at most once per hour and at most four times per local calendar day; at least three minutes lie between an app open ad and an interstitial. It is opened only from an ad object that is already loaded in memory and at most four hours old; if no ad is ready, the app remains usable without delay. The ad slot is reserved and rolled back in the same way as for the interstitial. Without UMP permitting ad requests, after the one-time purchase that permanently removes advertising, while Premium is active and during the 30-minute ad suspension, no app open ad is shown.
At the beginning of a newly created app or Activity session, the app updates the required consent information. If UMP already determined a stored decision in an earlier session that permits ad requests, the app may, following the flow documented by Google, initialise Google Mobile Ads in parallel with this update and request the banners of the current page on that basis; native, interstitial and rewarded ads still wait for the update to finish. If the update shows that ad requests are no longer permitted, the ad objects are discarded. Without such a stored permission, Google Mobile Ads is initialised only after the update. In the production build, the SDK is initialised and an ad is requested only if UMP permits ad requests. A rewarded ad is additionally loaded in a controlled way only when the Settings area is opened; it is displayed exclusively after a deliberate click on the ready button. The dashboard native ad is requested only after the authenticated list sections of the dashboard have been built and does not block that list rendering. While it is loading on the dashboard, the app does not start another hidden native-ad request for “My lists”. No native ad for “My lists” is prefetched on other pages either; it is requested only while “My lists” is open and its slot exists. An interstitial may likewise be loaded into memory in a controlled way after purchase eligibility and consent have been resolved; loading blocks neither lists nor navigation. List contents, TeamCounter links, access tokens, and names and counts of local click counters are not sent to Google as ad content for this purpose. A prefetched ad older than approximately one hour is discarded before it can be used. The relevant ad objects are discarded when consent changes, ad eligibility or placement ends, the final valid saved list is removed, or the Activity is finally destroyed. During the 30-minute ad suspension, while a confirmed entitlement from the one-time purchase offered in the Google Play version, which permanently removes advertising, is active and while Premium is active, banner, native, interstitial and rewarded ads are neither loaded nor shown, and their placements leave no empty advertising space. After the time-limited entitlement expires, the app checks the state again and may load regular advertising according to consent. During a short interruption or while the app is in the background, previously loaded or in-flight ad objects may temporarily remain in memory but are made fully invisible so that no ad is displayed there. No regular ad is shown in the tutorial, dialogs or consent forms, or in the widget and its configuration. The responsive banner is hidden while the on-screen keyboard is visible.
The provider of Google Mobile Ads / AdMob is Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland. Technical processing may also be carried out by Google LLC in the United States as the parent company or a technical service provider.
According to Google's information, the GMA Next-Gen SDK automatically collects and shares, for advertising, analytics and fraud-prevention purposes, the IP address, from which a general location may be estimated; user product interactions such as app launches, taps and video views; diagnostic information such as app launch time, hang rate and energy usage; and device and account identifiers. These identifiers may include the Android advertising ID, app set ID and, where applicable, other identifiers relating to accounts signed in on the device. The SDK also provides a publisher first-party ID that is enabled by default and, according to Google, can support more relevant and personalised advertising using data from the app. Device, app, consent and Privacy Sandbox information as well as ad views and interactions may also be processed. Which identifiers are actually transmitted depends in particular on consent, the operating system, Limited Ads and advertising configuration, and any required age treatment. Google states that these SDK data are encrypted in transit using TLS.
Google's current information about these data categories and the publisher first-party ID is available at https://developers.google.com/admob/android/next-gen/privacy/play-data-disclosure and https://developers.google.com/admob/android/next-gen/privacy/strategies.
Purposes may include displaying advertising, ad measurement, fraud prevention, technical provision and improvement of ad delivery, and analysis of advertising performance. In the EEA, the United Kingdom and Switzerland, personalised advertising, access to the advertising ID or comparable tracking technologies may be used only after the required consent has been given. Without consent, only limited or non-personalised ads may be served where this is technically and legally permitted.
At the beginning of a newly created app or Activity session, the app uses UMP to update whether consent is required and, where necessary, to display a consent form. A decision already stored by UMP remains effective across sessions until it is changed, withdrawn, re-evaluated by UMP or removed together with the app data. The UMP banner is therefore not displayed again on every app start, but only when Google reports that a form is required for the user. The visible “Privacy options” area in the app makes the Google privacy form available again as soon as Google reports that privacy options are required. Consent and regional opt-out choices can be changed or withdrawn there with effect for the future where the corresponding message has been published in the AdMob account and Google requires it for the user.
Users can also reset their advertising ID in their device’s system settings or restrict personalised advertising where the operating system provides these options. Where consent is required, advertising processing and access to information on the device that is not technically necessary take place exclusively on the basis of Art. 6(1)(a) GDPR in conjunction with Section 25(1) TDDDG. Consent can be withdrawn at any time with effect for the future through the privacy options provided in the app. Technical consent management and the implementation of statutory data protection requirements take place on the basis of Art. 6(1)(c) GDPR and additionally Art. 6(1)(f) GDPR; the legitimate interest lies in demonstrable and privacy-compliant control of the advertising services.
TeamCounter does not sell personal data for money. Terms such as “sale”, “sharing” or “targeted advertising” may, however, be defined more broadly by individual US state laws; transmitting or making technical advertising data available to Google or advertising partners for personalised advertising may fall within those definitions. Where required by law and published in the AdMob account, Google's US state message can record an opt-out from sale, sharing and targeted advertising. Google may process corresponding GPP or Global Privacy Control signals and apply restricted data processing. Users may also exercise their rights by emailing teamcounter@holsteinshops.de.
Information about Google's support for US state privacy signals is available at https://developers.google.com/admob/android/next-gen/privacy/us-states and https://support.google.com/admob/answer/14125907.
Google may also process data in third countries, in particular the United States. Where applicable, Google bases such transfers on the EU-US Data Privacy Framework and additionally on appropriate safeguards such as Standard Contractual Clauses. Further information is available from Google Business Data Responsibility (https://business.safety.google/privacy/) and in Google’s Privacy Policy (https://policies.google.com/privacy).
To verify authorised advertising partners, TeamCounter provides an app-ads.txt file on the developer website. This file supports advertising transparency and fraud prevention and does not contain personal user data.
14b. Firebase Analytics in the Android app
The Android app contains the Google Firebase Analytics SDK for aggregated usage statistics. On a first installation, collection is disabled by default in the app manifest and remains off without an allowing UMP status. The Google User Messaging Platform (UMP) also processes the decision for analytics storage. Firebase Analytics is enabled only if all four positions of the Consent Mode status supplied by UMP are each reported as granted, not applicable or not configured. A missing stored status on first installation, as well as denied, unknown or malformed values, keeps collection disabled. Where consent is legally required, “not applicable” or “not configured” does not replace that required consent. TeamCounter does not override advertising consent signals determined by UMP. Permission to request AdMob ads alone does not enable Firebase Analytics.
UMP may keep consent, opt-out and Consent Mode signals in private app storage. TeamCounter reads the four-digit Consent Mode value solely as the gate for Firebase Analytics. Following an allowing UMP decision, the Firebase SDK may store the enabled collection state locally across sessions and app processes and apply it on a later start before a new UMP network request; a new network request or visible UMP banner is therefore not required for every app process. During that period, the automatic technical Firebase events described below may also occur. A decision subsequently changed or withdrawn through the privacy options, as well as a new UMP evaluation, is applied to the collection state with effect for the future and may disable it again. The UMP value and local Firebase collection state contain no list or counter data and are not included in the manual TeamCounter backup file. Clearing app storage or uninstalling the app removes these local states; other signals managed by Google UMP and Firebase are additionally subject to Google's current documentation and retention rules.
The purposes are measurement, after release by the UMP gate described above, of app starts, sessions and use of fixed feature areas, distribution of app versions, and improvements to stability and usability. Where consent is required, this concerns only Android app users whose required consent is valid.
Of the Firebase platform, this app integrates Firebase Analytics only. Firebase Authentication, Cloud Messaging, Realtime Database, Cloud Firestore, Firebase Hosting, Crashlytics and Remote Config are not used by this integration. TeamCounter does not process usernames, profile pictures, email addresses, passwords or push-notification content through this Firebase integration. Where Firebase Analytics is enabled through the valid UMP gate described above and the Google Play edition is linked to Google Play, Google may automatically process in-app purchase and refund events. These events may contain the product ID, product name, price or value, currency and quantity. For this, TeamCounter only logs the parameter-free events “trial_start” or “subscription_purchase” described in the next paragraph and in particular does not add a product ID, price, currency, purchase token, order number or payment-method details as Analytics parameters.
TeamCounter currently triggers only the following fixed events: “overview ready” (“overview_ready”) at most once per app process after the complete start overview has actually been displayed, and “export created” (“export_created”) after a CSV or PDF export has been made available successfully, each without parameters. For the additional banner slots, “ad_request”, “ad_loaded”, “ad_load_failed” and “ad_clicked” are sent; they contain only the fixed name of the ad slot, the format “banner”, a fixed screen name and, for a loading error, a fixed technical error code, but no ad, response or device identifiers. For Premium hints, “premium_cta_view” (at most once per hint location and app process) and “premium_cta_click” are sent, each only with the fixed hint location; after a Premium activation started in the app and confirmed by Google Play, “trial_start” or “subscription_purchase” is additionally sent without parameters. In the Google Play version, “install_referrer_captured” may additionally be sent at most once per installation with the campaign information described in the following paragraph “Installation source”. Standard events supplied automatically by Google, including possible purchase, refund and ad impression events, are not first-party events defined by TeamCounter. No first-party Analytics event is sent for individual taps, count changes or list opens. The only first-party user property permitted is the technically fixed store edition: “google-play”, “amazon-appstore” or “unknown”. List and participant names, list contents, counter readings, monetary or other values, search terms, notes, TeamCounter links, QR data, access tokens and other free-form input are not sent as first-party Analytics events or parameters. TeamCounter does not set a Firebase Analytics user ID.
Installation source (Google Play version only): Only after Firebase Analytics has been enabled following the valid UMP decision described above, the app queries once per installation in the background, via the Google Play Install Referrer API, which Google Play link the installation is attributed to. Google Play returns the referrer text of that link (for example campaign information such as “utm_source=google&utm_medium=cpc”), the times of the link click and of the install start, the app version at installation and whether a Google Play Instant version was used before. The app stores this information validated and length-limited in private app storage; it is not sent to TeamCounter servers, is not included in the manual backup file and is removed when the app is uninstalled or its storage is cleared. If the referrer contains campaign parameters, the app sends the event “install_referrer_captured” at most once per installation with the values of utm_source, utm_medium, utm_campaign, utm_term and utm_content that are actually present (as “referrer_source”, “referrer_medium”, “referrer_campaign”, “referrer_term” and “referrer_content”, each at most 100 characters), the app version at installation (“install_version”) and the instant indicator (“instant_experience”). The complete referrer text, click identifiers such as “gclid” and all other parameters are not sent to Firebase. Search terms from the organic Google Play search are not provided by this interface; they are neither collected nor derived. If consent is withdrawn before sending, the information remains stored locally only and is not sent. Neither the advertising ID nor a user ID is used for this. The legal basis is consent under Art. 6(1)(a) GDPR in conjunction with Section 25(1) TDDDG. The Amazon Appstore version does not contain this function.
Automatic screen reporting and access by Firebase Analytics to the Android advertising ID are disabled. The app's AD_ID permission remains solely for the separate AdMob service controlled through UMP. If Firebase Analytics is enabled through the valid UMP gate described above, the SDK may automatically process technical standard events and information in addition to the reviewed app events, such as first open, app start, session start and technical app or operating-system updates, app version, device manufacturer, device category and device model, operating system and version, device language, platform, event time, an app-specific installation identifier and approximate location information derived from a masked IP address. According to Google, user data transmitted by the SDK is encrypted in transit using TLS. The data actually processed depends on SDK configuration, Firebase settings and the status reported by UMP.
The provider is Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland; technical processing may also be carried out by Google LLC in the United States. Where consent is required, analytics processing is based on Art. 6(1)(a) GDPR in conjunction with Section 25(1) TDDDG. Following withdrawal, collection must be disabled again with effect for the future. For relevant transfers to the United States, Google may rely on the EU-US Data Privacy Framework and, where required, further safeguards such as Standard Contractual Clauses. Retention and deletion of analytics data already processed by Google also depend on the retention settings configured for the Firebase project and Google's privacy rules; no fixed duration is promised without verification of the actual project setting. Further information is available at https://firebase.google.com/support/privacy, https://firebase.google.com/docs/analytics/android/configure-data-collection, https://firebase.google.com/docs/analytics/android/measure-in-app-purchases, https://support.google.com/analytics/answer/11582702 and https://policies.google.com/privacy.
14c. Google Play In-App Review
The version distributed through Google Play uses the Google Play In-App Review API. At an appropriate point in the user journey, the app may ask Google Play to make the official review card available. Google Play alone decides whether the card is actually displayed, including on the basis of its quota and technical requirements. Users are free not to submit a review.
If a review is submitted, Google Play processes the user-entered star rating and any optional free-text review. According to Google, these data are encrypted in transit and are used to leave a review on the Play Store. A review may be displayed publicly; for an app in a closed test track, it may instead be shared privately with the app developer. Users can delete their review through their Google Play Store account or Google Account.
TeamCounter does not attach list contents, list links, access or management tokens, counter values or local click-counter content to the review request. The rating and review text are submitted directly to Google Play and are not sent to the TeamCounter list API. The provision of the review function is based on Art. 6(1)(f) GDPR; the legitimate interest lies in receiving voluntary product feedback and improving the app. Submitting a rating or review is voluntary. Google’s own terms and privacy information apply to the subsequent processing by Google Play.
For local throttling of official review requests and TeamCounter's own neutral Google Play reminder, the app stores technical limit values in private app storage. These include the time of the first qualified use, the number of qualified sessions and app starts, whether at least one meaningful core use occurred, the time and app version code of the last started official review attempt, the total number of started attempts and the time of the last request failure. For the app-owned reminder, it also stores the permitted start window, the number, time and app version of actual displays, Later or dismiss actions, the neutral store-button click and bounded campaign and terminal counters. The app does not store stars, review text, opinion or sentiment, whether Google Play actually displayed the review card or whether the user submitted a review. These local throttling values are not sent to TeamCounter servers and are removed when app storage is cleared or the app is uninstalled.
Further information: https://developer.android.com/guide/playcore/in-app-review and https://policies.google.com/privacy.
14d. Google Play In-App Updates
The version distributed through Google Play uses the Google Play In-App Updates API to check whether an update is available and, where appropriate, to offer an update flow inside the app. Google Play handles the download and installation. An Immediate update may require an immediate restart. For a Flexible update, TeamCounter displays its own restart notice after the download has completed; only after the user's deliberate action does the app hand completion and the required restart over to Google Play.
According to Google, use of the API causes Google Play to process device metadata, the installed application version and the list of installed modules and asset packs. These data are used to determine whether an update is available and the expected update size. Google states that the data are encrypted, are not transferred to third parties and are deleted after a fixed retention period.
TeamCounter does not attach list names, list contents, list links, access or management tokens, counter values or local click-counter content to an update request. TeamCounter receives only the technical update information made available through the API. The processing is based on Art. 6(1)(b) GDPR to provide requested app updates and on Art. 6(1)(f) GDPR; the legitimate interest lies in distributing security fixes, compatibility improvements, bug fixes and new functions reliably. The Amazon Appstore version receives updates through Amazon’s distribution infrastructure and does not use the Google Play In-App Updates API for that distribution channel.
TeamCounter does not keep a history of completed updates. To resume or reconcile an update flow already started by Google Play after Activity or process recreation, the Google Play edition temporarily stores two technical values in private app storage: the Flexible or Immediate flow type and the target version code. The app removes this marker once it can safely establish through Google Play that the flow is terminal or no longer current; it is also removed when app storage is cleared or the app is uninstalled. Other check objects and update decisions that have not started a flow are held only temporarily. Google Play manages the download and installation.
Further information: https://developer.android.com/guide/playcore/in-app-updates and https://policies.google.com/privacy.
14e. Premium and one-time purchase through Google Play Billing
Only the Google Play edition offers an optional non-consumable one-time product that permanently removes advertising in the app and the monthly auto-renewing “TeamCounter Premium” subscription with the product ID teamcounter_premium_monthly and base plan monthly. The one-time purchase removes banner, native, interstitial and rewarded ads independently of Premium. An active Premium subscription also removes all these ads and enables additional local insights, analysis reports, list designs and widget colour palettes. Existing free core features, history and existing widgets remain available without Premium. In the Google Play edition, saving or sharing CSV/PDF files requires an active Premium subscription. The Amazon Appstore edition contains neither purchase option nor Google Play Billing; the described exports remain available there without a Premium lock.
When retrieving the offers, making a purchase, restoring it or reconciling subscription status, the app communicates with Google Play through the Google Play Billing Library. To display and grant entitlements, the app processes the localised price provided by Google Play together with product and base-plan IDs, purchase state, auto-renewal state, suspension and acknowledgement state and the unique purchase token. The displayed price always comes from Google Play and is not embedded in the app as a fixed amount. Google Play may additionally process Google Account, order, payment, device, country, tax and fraud-prevention data under the applicable Google Play and Google payments terms. TeamCounter does not receive credit-card, bank-account or other complete payment-method details through the Billing interface.
If Google Play offers a free trial for the subscription, the app displays the trial only when Google Play actually returns the offer as available for the Google Play account currently in use and its duration can be read from the pricing data supplied by Google Play. The localised monthly price supplied by Google Play applies afterwards, and the subscription renews monthly unless it is cancelled through Google Play before the trial ends. Google Play determines eligibility. TeamCounter does not grant the trial locally and does not store its own trial start or expiry time.
A purchase or Premium entitlement is granted only after Google Play confirms the PURCHASED state and does not report the subscription as suspended. A PENDING purchase grants no entitlement. A cancelled subscription remains active until the end of its already-paid period while Google Play continues to report it as active. A grace period reported by Google Play as active remains active; Premium is not granted for account hold, a suspended, expired or absent subscription. After the local entitlement state has been stored successfully, the app acknowledges required purchases to Google Play on the device. The purchase token is not transmitted to teamcounter.net or a TeamCounter purchase database and is not stored permanently in the app's local storage.
The app reconciles active purchases with the current Google Play account after the first visible app frame at startup, when returning to the foreground and after a user-requested restoration. During an automatic foreground reconciliation, only the read-only ownership and catalogue queries may be retried after a transient Play Billing failure, with at most three total attempts: the first immediately and the other two after one second and three seconds respectively. Starting a purchase, a user-requested restoration and purchase acknowledgement are not replayed automatically by this mechanism. A successful result that contains no active purchase may remove a previously cached entitlement following a refund, revocation or expiry. A temporary connection or Google Play error does not erase an already confirmed permanent one-time entitlement. For Premium, a last positively verified state may be used during a temporary connection failure for no more than 72 hours from its original verification time; repeatedly opening the app does not extend that time. After that, subscription ownership remains unresolved until a successful Google Play reconciliation and Premium is not granted. Clearing app storage or reinstalling the app removes the local state, which can then be restored through the entitled Google Play account. Android cloud backup and device transfer are disabled for this local state.
TeamCounter processes these data to initiate and perform the optional purchase contract under Article 6(1)(b) GDPR, to comply with legal obligations under Article 6(1)(c) GDPR and, where necessary, for fraud prevention and secure entitlement verification under Article 6(1)(f) GDPR. The technically necessary local storage of the entitlement is based on Section 25(2) No. 2 TDDDG.
Purchases, subscription status and restoration work independently of consent to advertising or Firebase Analytics. A purchase or subscription does not grant analytics or advertising consent and does not alter any UMP choice. Refusing or withdrawing Firebase Analytics consent does not invalidate a valid purchase entitlement. The monthly subscription is managed and cancelled through Google Play.
14f. Notifications in the Android app
The Android app can show local notifications: reminders about saved lists, tips and news about app features (for example once about a new feature) and, in the Google Play edition, an occasional request for a voluntary rating on Google Play. From Android 13 onwards, the app asks for the required Android permission when it is opened; without consent, no notifications are shown. In the app settings under “Notifications”, the types “List reminders”, “Tips & news” and, in the Google Play edition, “Rating reminders” can be turned off individually or all together at any time; after notifications are allowed, all types are active at first. They can also be turned off in the Android settings.
Notifications are generated on the device only. No push service, no server and no additional SDK is used, and no data is transmitted to TeamCounter servers or third parties for this purpose. Notifications contain no list names, counter values, links or access tokens. To limit them, the app stores only technical values in private app storage: the setting and the choice per notification type, number and time of the permission request, the times of the first and latest app start and of the latest notification, whether at least one list exists, bounded counters for tips, reminders and rating reminders, and a marker whether a one-time news notice has been handled. These values are removed when the app storage is cleared or the app is uninstalled. The legal basis is Art. 6(1)(f) GDPR; the legitimate interest lies in helpful information about using the app. Storage on the device is based on Section 25(2) No. 2 TDDDG.
15. Contact by form, email and phone
If you contact us through the contact form, by email or phone, the personal data you provide is processed to handle your enquiry.
This may include the following data in particular:
- email address
- phone number, if transmitted or displayed
- name, if provided
- content of the message or conversation, where documented for handling the enquiry
- time of contact
The legal basis is Art. 6(1)(b) GDPR where the contact relates to pre-contractual or contractual measures. In all other cases, processing takes place on the basis of Art. 6(1)(f) GDPR. The legitimate interest lies in processing and responding to incoming enquiries.
The data is deleted as soon as it is no longer required to handle the enquiry and no statutory retention obligations prevent deletion.
16. SSL or TLS encryption
For security reasons, this website uses SSL or TLS encryption. An encrypted connection can be recognised by the HTTPS prefix at the beginning of the browser address bar.
Encryption prevents data transmitted between the visitor’s browser and the website from being read easily by third parties.
17. Recipients of personal data
Personal data is disclosed only where this is required for the technical operation of the website or app, the function requested by the user, advertising in accordance with the privacy choice, handling an enquiry, or a statutory obligation.
As part of technical provision, STRATO processes personal data as the hosting provider.
Mediavine and the service providers used for its consent management process privacy decisions and necessary technical data; see section 5.3. Google receives the consent signals implemented for Analytics.
When Cloudflare Web Analytics is used, Cloudflare may process technical usage and performance data.
When the contact form is used, the information entered is processed through the website and the hosting and email services required to handle and deliver it. Cloudflare receives the technical signals described in section 12 for the Turnstile security check.
On a website visit, Google may receive consent status and the technical signals without Analytics cookies described in section 8.1. Where Analytics storage is allowed under the regional settings, additional usage, device and event data may be processed; where consent is required, this requires separate Analytics consent. Sections 5.2 and 8.1 explain the regional rules and legal bases.
Mediavine and the advertising and identity partners described in section 6.1 may process the data specified there according to the regional configuration and applicable privacy choice. Where consent is required, the relevant processing requires that consent. Section 5.3 covers necessary connections for consent management.
Within the native Android app, Google may process through UMP and Google Mobile Ads consent signals and the technical device, usage, diagnostic and advertising data listed in the AdMob section, insofar as permitted by the consent status and configuration.
After release by the UMP gate stored or re-evaluated as described in section 14b, Google may process through Firebase Analytics the technical app, session, device and event data described there.
When the Google Play In-App Review or In-App Updates APIs are used, Google Play processes the review or update data described in sections 14c and 14d. Rating and review text are sent directly to Google Play; update checks are handled by the Google Play Store.
For the Google Play version, Google Play additionally processes data for Google Play Billing. This can include purchase or subscription information such as product ID, purchase status, purchase token and, where applicable, order ID. Full payment details such as card or bank-account data are processed by Google Play and are not made available to TeamCounter. The Amazon Appstore version contains no in-app purchases.
When server-based lists are used, STRATO as hosting provider processes the list, token, content and connection data sent to the TeamCounter API. Where users deliberately invoke a sharing, QR or storage function, the app, platform or storage provider they select also receives the data expressly handed over. For support, TeamCounter specifies the support email address as the destination. After a visible local preview and deliberate handover, the selected email app receives the support category and technical diagnostic data listed in section 14. Depending on the selected app, email account and synchronisation settings, the email service provider may process or synchronise the draft before it is sent; the intended recipient receives the information only after deliberate sending. Only in the Google Play edition may users additionally choose to open the public TeamCounter page on Google Play; the Amazon Appstore edition does not contain this rating menu item. Users decide in each case whether they actually open the external app or platform and transmit data. The relevant recipient's privacy terms additionally apply to subsequent processing.
Amazon receives technical request and referral information only if a user deliberately opens an Amazon affiliate text link as described in section 23. Merely loading a TeamCounter page or list does not transmit data to Amazon through this text link.
When Google Search Console and Bing Webmaster Tools are used, Google or Microsoft may process and provide search engine, crawling and website performance data.
When Wordfence Security is used, Defiant may process security-relevant technical data where required for firewall, scanning, login protection and attack detection functions.
Recipients also include Mediavine for the Grow processing described in section 8.2, which also explains the provider information about further partners.
18. Storage period
Personal data is stored only for as long as required for the relevant purposes or for as long as statutory retention obligations apply.
According to STRATO, visitors' IP addresses are stored for a maximum of seven days for the detection and prevention of attacks. Other server-log elements are retained only for as long as required for the relevant operational and security purpose or by law; no broader fixed seven-day period is promised for those elements.
The choice stored by Mediavine’s consent management remains in the browser until expiry, renewal or change, according to the CMP and TCF rules. You can change the choice through the footer and delete local browser data.
For Cloudflare Web Analytics, Cloudflare states that it stores unsampled beacon data for seven days and then retains it in aggregated form for longer-term analysis.
Retention of user- and event-level data in Google Analytics 4 depends on the period configured in the Analytics property. For standard properties, Google currently offers 2 or 14 months. The configured period is the retention criterion; affected data is deleted after it expires in accordance with Google’s rules. Standard aggregated reports may remain available for longer.
The GA4 property for this website is currently configured to retain event data for 14 months and user data for 14 months. Resetting the user retention period on new activity is enabled: each new event from a user restarts the retention period for that user’s identifier. This extension applies to user-level data; it does not automatically retain previously collected event data for another 14 months. Data whose applicable retention period has expired is removed in Google’s monthly deletion cycle. The retention setting does not apply to standard aggregated reports, which may remain available for longer.
Mediavine / Journey and participating advertising partners follow the provider information and purpose-based retention criteria explained in section 6.1; GA4 retention does not apply to them.
The storage period for consent, device, diagnostic and advertising data processed through UMP and Google Mobile Ads depends on Google’s applicable retention rules, consent status, ad configuration and device or account settings. TeamCounter does not store any additional personal advertising profiles from UMP or AdMob in its own list database.
Retention of event- and user-level data in Firebase Analytics depends on the period configured in the Analytics property. For standard properties, Google currently offers 2 or 14 months. The configured period is the retention criterion; affected data is deleted after it expires in accordance with Google’s rules. Standard aggregated reports may remain available for longer.
The local throttling values for In-App Review remain stored until app storage is cleared or the app is uninstalled. Reviews submitted through Google Play remain subject to the user’s Google Play or Google Account settings and can be deleted there. Google states that data processed for In-App Updates are deleted after a fixed retention period that Google does not specify more precisely. TeamCounter does not store its own persistent update history. The local update-flow marker described in section 14d, consisting of update type and target version code, remains only while a started Flexible or Immediate flow must be continued or reconciled with Google Play. It is removed when the state is safely terminal or no longer current and when app storage is cleared or the app is uninstalled. The four-digit Consent Mode status held by UMP in private app storage may be overwritten when a decision is changed, withdrawn or re-evaluated for the region. An allowing collection state stored locally by the Firebase SDK may persist across sessions and app processes and be used before a new UMP network request; a later change, withdrawal or UMP re-evaluation is applied to that state with effect for the future. Clearing app storage or uninstalling the app removes both local states.
Payment and transaction data relating to Google Play Billing is retained by Google in accordance with Google's rules and applicable legal obligations. Where TeamCounter itself stores purchase identifiers or purchase status, they are retained only for as long as necessary to activate or restore the purchased entitlement, perform the contract, provide support, maintain security or comply with statutory retention obligations.
Wordfence security data is stored depending on the Wordfence settings and the relevant security purpose. According to Wordfence, Live Traffic data can be limited by number of entries and days; by default, the maximum retention period for Live Traffic data is 30 days.
Tally lists, scoreboards, drinks lists, attendance lists and value counters created by users are currently stored without a fixed automatic inactivity deletion period. They remain in place until they are permanently deleted through the management link, a justified deletion request is processed or a statutory deletion obligation is implemented. Existing lists are neither deleted nor reset as a result of this clarification.
Locally stored list links, app settings, display choices, widget configurations, templates, click counters and associated local feature states generally remain on the device until the user removes them through the provided function, clears app storage or uninstalls the app. Technical maintenance rules bound individual journals, queues and caches. A QR cache artifact older than 24 hours is cleaned up when another QR code is generated; a copy deliberately stored or shared externally is then outside TeamCounter's control.
Data from form, email and phone enquiries is deleted once the enquiry has been handled conclusively, the data is no longer needed and no statutory retention obligations prevent deletion. These criteria also apply to any form entries stored in WPForms and related email correspondence; no specific automatic deletion period is promised.
Grow follows the Mediavine retention information and criteria stated in section 8.2; the GA4 retention period does not apply to Grow.
19. Objection to processing based on legitimate interests
Where personal data is processed on the basis of Art. 6(1)(f) GDPR, data subjects have the right to object to this processing at any time on grounds relating to their particular situation.
An informal message to teamcounter@holsteinshops.de is sufficient to exercise the right to object.
20. Rights of data subjects
Where the GDPR applies to processing by the controller established in Germany, data subjects have these rights regardless of where they live. Comparable rights may additionally or instead arise under the applicable law in the United Kingdom, Switzerland and other jurisdictions. These include in particular:
- right of access to stored personal data
- right to rectification of inaccurate personal data
- right to erasure of personal data
- right to restriction of processing
- right to data portability
- right to object to certain processing
- right to withdraw consent that has been given with effect for the future
An informal message to teamcounter@holsteinshops.de is sufficient to exercise these rights.
When requesting deletion of a specific TeamCounter list, the list/tool ID or view link should be provided first. Please send a management link only after an explicit request.
20a. Additional rights in other countries and regions
Depending on where a person lives and whether local privacy law applies, additional or different rights may exist. This Privacy Policy does not restrict those statutory rights.
In US states with comprehensive privacy laws, these may include – where the relevant law applies to TeamCounter – rights to confirmation; access to or knowledge of categories, sources, purposes and recipients; correction; deletion; and portability, as well as an opt-out from sale, sharing or processing for targeted advertising. Where applicable, there may also be rights to limit sensitive-data processing, non-discrimination, use of an authorised agent, and appeal or review of a denied request.
In Brazil, the LGPD may provide, among other rights, confirmation, access, correction, anonymisation, blocking or deletion of unnecessary or unlawfully processed data, portability, information about recipients and consequences of consent, and withdrawal of consent. In Canada, Australia, New Zealand, Singapore, India, Japan and other countries, rights may include access, correction, deletion or withdrawal and a complaint to the competent privacy authority where provided by the applicable law.
Requests can be sent to teamcounter@holsteinshops.de. TeamCounter may request information reasonably necessary to verify identity and authority securely, but will not request additional data that are unnecessary for that purpose. Requests are handled within the period prescribed by the applicable law; no single worldwide 30-day deadline is promised. Where required by law, no person will be disadvantaged for exercising a privacy right, and reasons for denial and available appeal options will be provided.
Where data are stored only locally on the device, TeamCounter cannot technically view or delete their content remotely. Those data can be removed through the app functions, by clearing app storage or by uninstalling the app. A specific server-based list generally requires the corresponding link or list/tool ID for secure identification.
21. Right to lodge a complaint with a supervisory authority
Data subjects have the right to lodge a complaint with a privacy supervisory authority if they believe that the processing of personal data infringes applicable privacy law.
For the controller in Schleswig-Holstein, the competent authority is, in particular, the Independent Centre for Privacy Protection Schleswig-Holstein (ULD), Holstenstraße 98, 24103 Kiel, Germany; information is available at https://www.datenschutzzentrum.de/. Data subjects may also contact the privacy authority at their habitual residence, place of work or the place of the alleged infringement, or the body competent under their local law.
22. Automated decision-making and advertising profiling
TeamCounter does not use list content, click-counter data or support enquiries to make its own solely automated decision that has legal or similarly significant effects on a person. TeamCounter does not create its own advertising profile from that content.
Mediavine and participating partners may automatically select, measure and, depending on privacy choices and configuration, personalise website ads, including profiling. Section 14a covers Google advertising in the native app. TeamCounter does not use ad selection to make legal or similarly significant decisions about users. The described consent, objection and contact routes continue to apply.
22a. Children and minors
TeamCounter is a general-purpose organisation and counting tool and is not specifically designed for children. The app does not ask for a date of birth and does not perform its own age verification. The current Android version does not use a neutral age screen and does not set its own child-directed or under-age-of-consent treatment for ad requests. It is therefore not intended for independent use by people for whom parental or guardian consent is required under the law of their place of residence.
Minors may use TeamCounter only in accordance with applicable local law and, where required, with the consent and supervision of a parent or guardian. No personal or sensitive information about children should be stored in lists or click counters. If you believe that a child's data have been processed without the required authorisation, please contact teamcounter@holsteinshops.de so that the matter can be investigated and any required deletion arranged.
23. Amazon affiliate links (affiliate advertising)
In the footer of all website pages in all languages, including list views, TeamCounter displays a text link to Amazon.de labelled as advertising (“Advertisement”). In addition, TeamCounter displays a clearly labelled text link to coupon offers on Amazon.de on the German public benefits page at /vorteile/. Both links contain the Amazon partner tag teamcounter-21. If a user follows one of these links and makes a qualifying purchase, the website operator may receive a commission from Amazon. This does not increase the price for the user.
No Amazon script, product module, iframe, tracking pixel or other Amazon content is embedded for these links. Merely opening a TeamCounter page therefore does not establish a connection to Amazon through the affiliate text links. Only after the link is deliberately selected does the browser open Amazon.de. Amazon may then receive the IP address, time of access, browser and device information, the referring page and the parameters contained in the partner link, and may use cookies or similar technologies under its own responsibility.
The links are provided on the basis of Art. 6(1)(f) GDPR. The legitimate interest lies in the transparent, commission-based financing of the free website service. Users are free not to open the external links. Further information about processing by Amazon is available in the Amazon.de Privacy Notice.
The native Android app, its data processing and its advertising configuration are not changed by these website links.
24. CHECK24.net partner programme (affiliate advertising)
The German public benefits page at /vorteile/ displays clearly labelled text links to CHECK24 tariff comparisons (electricity, gas, DSL and mobile). The website operator participates in the CHECK24.net partner programme. If a user concludes a contract through one of these links, or if CHECK24 derives a lead or a sale from it, the website operator may receive advertising cost reimbursement. This does not increase the price for the user.
No CHECK24 iframe booking forms, scripts, comparison calculators, tracking pixels or other CHECK24 content are embedded in the page. Merely opening the benefits page therefore does not establish a connection to CHECK24. Only after a link is deliberately selected does the browser open the redirect address a.check24.net and then the CHECK24 offer. CHECK24 may then receive the IP address, the time of access, browser and device information, the referring page and the parameters contained in the partner link (partner, creative and category identifiers), and may use cookies or similar technologies under its own responsibility.
The links are provided on the basis of Art. 6(1)(f) GDPR. The legitimate interest lies in the transparent, commission-based funding of the free website. Users are free not to open the external links. Further information on data use is available in the privacy policy of CHECK24.net.
25. Temu partner programme (affiliate advertising)
The same page displays a clearly labelled text link to offers from Temu, together with a discount code. If a user follows the link and makes a qualifying purchase, the website operator may receive a commission. This does not increase the price for the user. The conditions, validity and availability of the discount code are determined solely by Temu.
No Temu script, product module, iframe, tracking pixel or other Temu content is embedded. Merely opening the page therefore does not establish a connection to Temu. Copying the discount code happens exclusively in the local browser through the device clipboard; no data is transmitted to the website operator or to Temu in the process.
Only after the link is deliberately selected does the browser open the redirect address temu.to and then the Temu offer. Temu may then receive the IP address, the time of access, browser and device information, the referring page and the parameters contained in the partner link, and may use cookies or similar technologies under its own responsibility. Temu belongs to the PDD Holdings group of companies; processing outside the European Union and the European Economic Area, in particular in the USA and in China, is therefore possible and falls within Temu's own responsibility.
The link is provided on the basis of Art. 6(1)(f) GDPR. The legitimate interest lies in the transparent, commission-based funding of the free website. Users are free not to open the external link. Further information is available in the Temu privacy policy.
The native Android app, its data processing and its advertising configuration are not affected by the website links described in sections 24 and 25.
26. Neutral operator reference
Public website footers may contain one neutral link labelled “A project by HolsteinShops.de” to HolsteinShops.de. This is neither an advertisement nor an affiliate link and does not load scripts, iframes, tracking pixels or other content from HolsteinShops.de when a TeamCounter page is opened. Data is transmitted only after the link is actively selected.
26.1 Voluntary support through Stripe
The “Support now” button in the footer of the website pages lets you open an external payment page provided by Stripe. Support is optional; using the list functions remains free and does not depend on a payment.
This button does not load Stripe scripts, embedded payment forms or tracking pixels on TeamCounter. The button itself does not establish a connection to Stripe when a TeamCounter page is loaded. Only when you select it does your browser open the payment page at buy.stripe.com; Stripe then receives technically necessary connection data such as your IP address and browser information. The link prevents the address of the TeamCounter page you opened from being sent as a referrer.
The link contains the selected language and fixed, general source information about the website and its placement in the footer (“footer”). List IDs, management or access tokens, list names, list contents, email addresses and individual user identifiers are not added to the link. The button has no dedicated click or impression tracking.
You enter payment details in the external Stripe checkout, rather than in a TeamCounter form. Information about processing there, recipients, retention, possible international transfers and your rights is available in the Stripe Privacy Policy.
Where the operator receives transaction data relating to your requested payment, such as amount, time and payment status, and any contact details you provide, these are processed to handle and record your support and to meet statutory record-keeping obligations. The legal basis is Art. 6(1)(b) GDPR insofar as processing is necessary to handle the requested payment, and Art. 6(1)(c) GDPR insofar as a statutory obligation applies. These data are retained only for as long as those purposes or statutory retention obligations require. The contact details and rights in sections 2 and 20 apply to privacy enquiries.
27. Changes to this Privacy Policy
This Privacy Policy may be updated if there are technical, legal or content-related changes to the website or app.
The version applicable to the app is available within the app; the current online version is also available on the website.
