InfraLoka AcademyPathwayAI
PathwayAI

Module 1 · Start safe

Operations data that stays out of general AI services

5 min read6 min readReviewed 26 October 2026

In short

In logistics the risky data is not only names: licence numbers, drivers' home addresses, customer addresses, where a vehicle is right now, and contract rates. Send codes and regions, keep the rest in internal systems.

After this lesson you can

  • Recognise driver, customer, vehicle location and contract rate data that must not go into a general AI service
  • Replace sensitive operations data with route codes, vehicle codes and regions before asking AI for help
  • Decide when a logistics task has to stay inside internal systems

Terms in this lesson

Understand

Operations work is full of tables: delivery lists, driver schedules, trip logs, customer lists, vendor invoices. They all feel like "ordinary work data", and that is exactly why they are easy to paste whole into a general AI service. Yet those tables often hold other people's personal data and the company's trade secrets.

In Level 1 you learned which data must not go in in general. In logistics there are four groups to know by heart because they come up every day:

  • Driver and crew data. Full name, national ID number, driving licence number, home address, phone number, photo, health notes and offence records. This is personal data protected by the PDP Law, and some of it can be used for fraud.
  • Customers with their addresses. A recipient's name paired with a home address and phone number. One row like "Mrs Sari, 12 Melati Street, electronics parcel" is enough to point to a person and what is in their home.
  • Where a vehicle is right now. The live position of a truck shows where a driver is at this moment, and often where a high-value load is passing. That is safety information, not just a dot on a map.
  • Contract rates and customer lists. Prices per route agreed with customers or carriers, and who our customers are. These are usually bound by confidentiality duties in the contract, and they are valuable to competitors.

All of this can be called operations data: data born from daily work. Operations data is not automatically dangerous, but it is almost always mixed with data that is.

The good news is that almost every task you want AI help with does not need that data. To draft a load plan, a model needs vehicle capacity and cargo weight, not the driver's name. To write a delay message, it needs the general cause and the new estimated time, not the recipient's address. To summarise this month's delays, it needs figures per route, not the position of every truck.

So the habit is simple:

  1. Drop columns the task does not use. Licence numbers, home addresses and phone numbers are almost never needed.
  2. Replace identifiers with codes. A driver becomes DRV-03, a vehicle TRK-07, a customer PLG-12, a route RUTE-B.
  3. Raise the level of location. A full address becomes a district or region; a live position becomes "still on the toll road" or "already at the destination warehouse".
  4. Replace contract figures with a placeholder. Write "‹tarif-kontrak›" in the draft, then fill in the number yourself in the internal system.

This is pseudonymisation, not anonymisation: with the code table, DRV-03 can still be traced back to a person. So masked data is still treated as personal data, and the code table is never sent.

Some tasks really cannot be done with masked data. Finding which driver's licence expires next month, checking a mistyped customer address, or seeing which truck is closest to the warehouse: these need real data. Tasks like these are done in the system that actually holds the data, such as the fleet app or the warehouse system, with access already controlled.

If your organisation has an approved AI service set up for internal data, follow its rules: who may use it, which data may go in, and where results are kept. If there is none, treat every AI service outside internal systems as a general service. The guiding question: if what I paste here were read by an outsider, who would be harmed? If the answer is a driver, a customer or the company, the task stays inside.

Worked example

Before

The prompt

Please make tomorrow's delivery schedule from this table. [I paste the full export: driver names, national ID numbers, licence numbers, phone numbers, drivers' home addresses, every recipient's name and address, parcel contents, and the per-route rate from the contract]

What came back

Example of bad output; figures and references invented by the model, do not use: Here is tomorrow's schedule: Mr [name] (licence [number]) leaves at 06.00 for 12 Melati Street to deliver Mrs [name]'s electronics parcel... Total revenue for this route at the contract rate is...

After

The prompt

Goal: I need a draft delivery order for tomorrow for three vehicles, so I can check it before the morning briefing. Reader: me, the dispatch coordinator. Material: vehicles TRK-01, TRK-02, TRK-03 with a capacity of 1,500 kg each. Deliveries by region: North 9 stops (1,100 kg), East 7 stops (1,350 kg), West 12 stops (1,600 kg). All made-up data for practice. Limits: do not guess names or addresses; use codes and regions only. Do not plan driver working hours, I check those myself. Shape: a table of vehicle, region, weight, and a note if any vehicle is over capacity. Check: mark every row whose weight is over capacity.

What came back

TRK-01, North, 1,100 kg TRK-02, East, 1,350 kg TRK-03, West, 1,600 kg, over capacity by 100 kg Note: the West region needs splitting, or part of the load moved to TRK-01, which still has 400 kg of room.

What changed

  • Names, ID numbers, licences, phones and addresses were dropped because ordering the work does not need them.
  • The contract rate stayed out. The task is about load, not revenue.
  • The limits tell the model not to plan driver hours: that is a decision for the person holding the data.
  • I still check 1,600 kg against 1,500 kg myself before trusting the flag.

Common mistake

Mistake
Pasting a full export from the fleet app or delivery system into a general AI service because it is "just to tidy the schedule".
Why it hurts
One export can hold the personal data of dozens of drivers and hundreds of recipients, plus rates bound by contract confidentiality. Once sent you cannot pull it back, and you do not know who may read it later. A personal data breach also has legal consequences for the company.
Do this instead
Start from the task, not the table. Write down which columns are really needed, make a copy with only codes, regions and figures, and do the rest inside the internal system.

Try

Sorting card

Sort each item: fine to send as is, mask first, or keep in the internal system?

  1. A draft loading SOP with no names in it

  2. The live position of every truck carrying a high-value load

  3. The contract rate table per route with customer names

  4. A customer complaint that gives their name and home address

  5. Total load weight per region for tomorrow

  6. This week's delays per driver, with driver names

  7. Licence numbers of drivers whose licences are about to expire

7 cards left

Your manager wants a list of drivers whose licences expire within 60 days. What is the right step?

Take home

Before pasting operations data

  • I first wrote down which columns this task needs
  • Driver names, ID numbers, licence numbers, phones and home addresses are gone
  • Recipient names are no longer paired with their addresses
  • No live vehicle positions; location is at region level at most
  • Contract rates and customer lists are replaced with placeholders
  • The code table stays on my computer or in the internal system
  • If the task needs real data, I do it in the internal system

What went wrong for us

How we work

Driver data does not leave our systems

Context
A logistics app we built stores driver data such as names, phone numbers, and licence numbers with their expiry dates. Much of the daily work around it, such as drafting schedules or writing messages, feels faster with AI help.
What tends to go wrong
The habit we keep is this. Driver identity and contact data is never pasted into a general AI service. When a task needs AI help, only driver codes, vehicle codes and regions are sent; matching them back to people happens inside the app, by someone with the right access.
What it costs if ignored
Names, phone numbers and licence numbers are personal data protected by the PDP Law. If they leak, drivers can be targeted by fraud or contacted by people with no right to reach them. Drivers' trust in the company goes too.
Root cause
The biggest temptation is a table that is already complete: copying the whole table feels faster than choosing the columns the task needs.
How we do it
Material for AI-assisted analysis is prepared with codes and regions only. Identity and contact columns are left out from the start, so nothing has to be deleted by hand.
The rule we keep
Every new export is asked first: which columns does the task actually need? Identity columns are never the default.

The lessonA code is enough to stand for a driver; names, numbers and addresses stay in internal systems.

What it means for your workBefore pasting an operations table into AI, drop the identity and contact columns and use driver and vehicle codes.