Full Service Review LLC
Effective date: September 19, 2026 Version: 2.0
Most of what Full Service Review does, it does as a controller — we decide what data to collect about our own account holders and why. This document covers the narrower case where we are a processor: handling data about your website's visitors, on your instructions, for your purposes.
That happens in one place: the Visible plugin, our proprietary software, when we install it on a website we maintain for you under a retained engagement. It classifies incoming traffic and may record information about visitors and automated agents.
If the plugin does not run on a site you control, this document does not apply to you. If it does, it forms part of your agreement automatically, and we will also execute it as a standalone signed document on request at no cost.
Roles. You are the Controller. Full Service Review LLC is the Processor. Where your own customer is a controller and you are their processor, we are a sub-processor and the same terms flow down.
Processing of personal data of visitors to Controller's website(s), for the duration of the subscription, plus the retention periods in Section 8.
| Purpose | What is done |
|---|---|
| Agent classification | Match incoming user-agent strings against a maintained list of AI crawlers, retrieval agents, and user-triggered agents; verify claimed identity against operators' published IP ranges |
| Accessibility diagnostics | Record the HTTP status returned to an agent, so the Controller learns when AI systems receive errors on pages they should be able to read |
| Structured data emission | Render schema.org markup describing the Controller's business |
| Traffic reporting | Produce counts of agent and human activity for the Controller's dashboard |
| Category | Detail | Retained? |
|---|---|---|
| IP address | Used transiently at the moment of request to compute a hash and verify agent identity | No — discarded immediately, never written to the database |
| Visitor hash | SHA-256 of IP + user-agent + a secret salt that rotates every 24 hours | 90 days, then aggregated |
| User-agent string | The raw header | 90 days for agents; for human traffic, only the derived browser family is retained |
| Requested URL | Path on the Controller's own site | 90 days |
| HTTP status code | Response returned | 90 days |
| Referrer origin | Domain only, never the full URL | 90 days |
| Timestamp | Truncated to the hour | 90 days, then aggregated to daily counts |
Special category data: none. The plugin does not collect, and must not be configured to collect, data revealing racial or ethnic origin, political opinions, religious beliefs, trade union membership, genetic or biometric data, health data, or data concerning sex life or sexual orientation. Data about criminal convictions is likewise out of scope.
Stated affirmatively, because a scope limit is only meaningful if it is written down:
The plugin runs with agent classification enabled. Human visitor logging is switched on only where the Controller asks for it in writing, and either function can be disabled on request. Disabling takes effect on the next request, not on the next scheduled run.
We will:
You will:
You give general written authorization for us to engage sub-processors, subject to this section.
| Sub-processor | Role | Location |
|---|---|---|
| NixiHost | Application and database hosting | United States |
| Cloudflare, Inc. | CDN, DNS, edge security, bot verification | Global |
| Postmark (ActiveCampaign, LLC) | Notification email | United States |
Maintained at fullservicereview.com/subprocessors/.
We will give 30 days' notice before adding or replacing a sub-processor that will process your data. You may object in writing on reasonable data protection grounds within that period. If we cannot resolve your objection, you may terminate the affected service with a pro-rata refund of prepaid fees — an exit, not a deadlock.
We remain fully liable to you for the acts and omissions of our sub-processors as if they were our own. We impose on each, by written contract, obligations no less protective than those in this DPA.
| Control | Measure |
|---|---|
| Encryption in transit | TLS 1.2 minimum, 1.3 preferred; HSTS; TLS 1.0/1.1 and weak ciphers disabled |
| Encryption at rest | Database and backup volumes encrypted |
| Pseudonymization | Visitor identifiers are salted hashes with a 24-hour rotating key; raw IP is never persisted |
| Data minimization by design | Referrer truncated to origin; timestamps truncated to the hour; raw user-agent retained only for agent traffic |
| Access control | Role-based, least privilege, periodic review, MFA on administrative accounts |
| Authentication | Passwords stored with a modern one-way hash; no plaintext credential storage anywhere |
| Integrity | Webhook signature verification and idempotency on all financial events |
| Availability | Automated backups with a 35-day window; documented restore procedure |
| Vulnerability management | Automated dependency scanning; malware scanning; documented patch cadence |
| Logging | Administrative actions logged; logs rotated at 30 days |
| Segregation | Controller data is logically segregated by account; no cross-account queries in application code |
| Resilience | Documented incident response process, reviewed annually |
| Vendor assurance | Sub-processors assessed before engagement and contractually bound |
We may update these measures, provided the level of protection is not reduced.
Who. Visitors to your website exercising rights against you.
What we do. Where a data subject exercises a right and the data sits in our systems, we will assist you in responding, taking account of the nature of the processing.
How, honestly. Because visitor identifiers are salted hashes and the salt rotates daily and is not retained beyond its rotation window, we generally cannot locate the records of a specific individual on request. This is a consequence of the pseudonymization that protects them. Where a data subject can supply enough information to identify records within the current salt window, we can act. Beyond that window, the data is effectively anonymous and Article 11 of the GDPR applies: a controller is not obliged to maintain identifying information solely to enable rights that the data no longer supports.
We will say this to you plainly rather than promise a capability we do not have.
What we can always do. Delete all data associated with your site, or with a specific URL, on request, within 30 days.
Timing. We will forward any request we receive directly from your visitor to you within 5 business days and will not respond to it ourselves except to say we have forwarded it.
Cost. Assistance is included. We do not charge for compliance help.
Notification to you. We will notify you without undue delay and in any event within 48 hours of becoming aware of a personal data breach affecting your data. Forty-eight hours is deliberately shorter than the 72 hours you have to notify your regulator, so the clock does not start against you already partly spent.
What the notice will contain. The nature of the breach, the categories and approximate number of data subjects and records, the likely consequences, the measures taken or proposed, and a contact point. Where we cannot provide all of it at once, we will provide it in phases rather than delay the first notice.
What we will not do. We will not wait for a complete forensic picture before telling you something has happened. We will not characterize a breach as a "security incident" to avoid triggering an obligation. We will not ask you to keep it confidential from your own regulator or data subjects.
Cooperation. We will cooperate with your investigation and with any regulator, at our cost where the breach arose from our processing.
On termination, at your election:
If you make no election within 30 days of termination, we will delete.
Certification. We will confirm deletion in writing on request.
Exception. We may retain data where law requires. If that applies, we will tell you what, why, and for how long, and we will continue to protect it under this DPA for as long as we hold it.
What you can do. On reasonable notice, not more than once a year unless a breach or a regulator's direction warrants more, you may audit our compliance with this DPA.
How, in practice. In the first instance we will respond to a written questionnaire and provide documentation of our controls. If that does not satisfy a reasonable question, we will accommodate an audit conducted by you or an independent auditor bound by confidentiality, during business hours, without unreasonable disruption, and without access to other customers' data.
Cost. Ours to bear for the questionnaire and documentation. Yours for an on-site audit, unless the audit finds a material breach of this DPA, in which case we bear it.
We are established in the United States. Where you are established in the EEA, UK, or Switzerland, or where you instruct us to process data of individuals located there:
Transfer impact assessment. We have assessed the legal environment of the destination and the sub-processors involved. The supplementary measures we rely on are: encryption in transit and at rest, non-retention of raw IP addresses, pseudonymization by rotating salt, minimization of transferred fields, and the commitment in Section 14 of our Privacy Policy to require valid legal process and to notify you unless legally prohibited. The assessment is available to you on request.
For the purposes of the California Consumer Privacy Act as amended, and equivalent state statutes:
Where this DPA conflicts with the Terms of Service, this DPA prevails on matters of data protection. Where the SCCs conflict with this DPA, the SCCs prevail.
Liability under this DPA is subject to the limitation in Section 16 of the Terms of Service, except that the cap does not apply to breaches of Section 2.2 (no sale, no own-purpose use), Section 7 (breach notification), or to regulatory fines arising from our breach of this DPA.
Governing law: as per the Terms of Service, save where the SCCs specify otherwise.
You may add the following to your own website's privacy policy. It is offered as a convenience; you remain responsible for its accuracy in your context.
AI and automated traffic measurement
This website uses the Visible plugin from Full Service Review to identify and measure automated software that accesses our pages — including AI crawlers and search engine bots — and to check that those systems are able to read our content correctly.
When a request is made to this site, the plugin briefly examines the requesting party's IP address and browser identification string. For automated traffic, it records the software's identity, the page requested, and the response given. For human visitors, it records a one-way coded value that changes every 24 hours, which allows us to count visits without identifying anyone and without tracking anyone across days or across other websites.
No cookies are set for this purpose. No browsing profile is created. Your IP address is not stored. This information is not sold or shared with advertisers, and is deleted after 90 days.
Our processor for this activity is Full Service Review LLC. To ask about it, or to ask us to stop, contact us at (your contact details).
Signature block
| Controller | Processor | |
|---|---|---|
| Entity | Full Service Review LLC | |
| Name | ||
| Title | ||
| Date | ||
| Signature |