A Central European logistics group with about a dozen warehouses had a clear use case for computer vision in logistics: count pallets and flag damaged goods at the loading docks. The pilot ran on a US hyperscaler’s AI service, and the data protection officer stopped it. Dock cameras sometimes captured staff, and that footage was being processed by a service the DPO could not assess to her satisfaction.

The operations team had already seen the value. Damage found at the dock, before a driver leaves or a pallet is put away, settles a dispute in minutes. Damage found the next day, in a batch report, settles nothing.

The block: footage of staff in a US AI service

The client’s pilot covered two warehouses and roughly twenty dock doors. Cameras streamed frames to the hyperscaler’s vision service, which returned detections. Pallet counts and damage flags came back as a daily export that supervisors read the following morning.

The DPO’s objection was specific. Frames contained identifiable employees, the processing ran under a US provider, and the documentation she needed to assess it was a generic service description, not a description of this pipeline. She would not approve extending it to twelve sites on that basis.

What the client needed from a replacement

The brief the client gave us had four requirements. We wrote them into the project scope:

  • Inference on GPUs in EU datacenters, operated by a company with no parent above it on which a foreign order could be served.
  • A pipeline the DPO could review step by step: what enters, what is stored, what leaves, who can reach it.
  • Damage flags delivered inside the shift, not in a next-day batch.
  • A cost per processed frame that survived a rollout from two sites to all of them.

The last point mattered more than it sounds. The hyperscaler’s estimate for twelve sites had grown faster than the business case, and finance was already asking whether the project was worth extending.

How we built the EU AI inference hosting

We built and ran the pipeline on our AI services, on GPUs in our Amsterdam datacenter. The client’s own dock imagery fine-tuned an open-weight detection model, and a dedicated inference endpoint served it. Our promise on training is a plain one: your data never trains anything except your own models.

Frames travel from each warehouse to the endpoint encrypted in transit, and what we store is encrypted at rest, with the keys managed by us. Only authorised DIVERSITY staff located in the EU can reach the infrastructure, and administrative access is logged and requires multi-factor authentication. The DPO could read each of those statements against a component in the diagram.

Handling staff in the frame

The pipeline treats people in the footage as something to remove, not just to avoid. A first stage detects people in each frame and blurs them before anything is written to storage. The second stage, which counts pallets and checks for damage, works on the blurred frame.

Only the cropped image of a flagged item and its metadata (dock door, timestamp, pallet identifier) persist. Full frames are dropped once inference completes. The client chose that design with the DPO, and it narrowed what her review had to cover.

Pallet counting and warehouse damage detection

Pallet counting computer vision sounds simple until a dock door has a forklift crossing it, a stretch-wrapped pallet catching the light, and a trailer half unloaded. We spent the first weeks on the client’s own footage: night shifts, rain on the door seals, mixed pallet types. The detection model learned from those conditions, not from a generic dataset.

Damage detection works on the same stream. The model flags crushed corners, torn wrap, leaning stacks and visible product breakage, and it attaches the cropped image so a supervisor can confirm in seconds. The client’s operations team compared the counts with manual tallies over four weeks at the two pilot sites before they trusted the numbers.

A damage flag that arrives after the truck has left is a record. One that arrives while the pallet is still on the dock is a decision.

Getting flags to supervisors in the same shift

The old setup batched results overnight. We replaced that with results pushed to the dock supervisor’s dashboard as each detection completes, with the cropped image attached. A supervisor can hold a pallet, photograph the claim for the carrier and log the exception before the next trailer backs in.

The documentation behind the DPO’s review

The DPO’s GDPR review of the video analytics was the gate, so we treated the documentation as part of the build. We wrote up the processing as it actually ran: data categories, the blur stage, what persists, where it is stored, who has administrative access and how that access is logged. She reviewed that description against the processing it covered and raised questions, and we changed two things in response: how flagged crops are labelled, and who on the client’s side can export them.

We did not hand her a statement of conformity, and nobody should. The review was hers, it was documented, and it was specific to this pipeline. She approved the pilot to go ahead.

Rollout to every warehouse and the cost result

With the review documented, the pilot extended from two sites to all of them, about a dozen warehouses and roughly a hundred dock doors. Each new site needed camera positioning checks and a short period of tuning on local lighting and pallet types, not a rebuild of the pipeline. We run the endpoint and watch it, so the client’s IT team did not take on GPU operations.

Inference costs came in roughly a third below the hyperscaler’s estimate for the same volume. The client’s finance team could see that figure before approving the rollout, and the gap held as sites were added.

What changed for the client

  • Damage flags reach dock supervisors within the same shift, where before they arrived in a next-day batch.
  • Pallet counts are produced at every dock without a person standing with a clipboard.
  • The DPO’s objection was resolved with a documented review of the processing, not by dropping the use case.
  • The cost per site stopped being the reason to stall the rollout.

The client now runs GPU-backed video analytics in the EU, with a pipeline its DPO has read end to end. If you have a computer vision project stuck at the data protection review, we can show you what that review looked like in this case, with details under NDA.