Zuttle

Privacy Policy

Zuttle (Pty) Ltd

Draft version, under legal review. Last updated 15 November 2026.Version 0.1. This text may change.

1. Who we are

Zuttle connects travellers in South Africa with established shuttle and transport companies ("operators"). In this policy, "Zuttle", "we" and "us" mean Zuttle (Pty) Ltd, registration number 2026/320705/07, of 179 Mackenzie Street, Brooklyn, Pretoria, Gauteng, 0181.

We are the responsible party for the personal information described here, as defined in the Protection of Personal Information Act 4 of 2013 (POPIA). Our Information Officer is Jean Hannah, who you can reach at support@zuttle.io.

Zuttle is a booking agent. The operator you travel with supplies the transport. When an operator carries you, it receives your booking details (section 7) and becomes responsible, under its own legal duties, for how it uses them for that trip. Our agreement with each operator limits how it may use them.

2. What this policy covers

This policy covers:

  • the Zuttle app, for travellers;
  • the Zuttle Driver app, for drivers who work for an operator;
  • the operator web portal, used by operator companies; and
  • this website, zuttle.io, including the waitlist, charter booking and the traveller account pages.

POPIA protects companies as well as individuals, so this policy also covers operator companies.

3. What we collect

If you use the Zuttle app or your account on zuttle.io (travellers)

Your account on zuttle.io is the same account as in the app.

  • Account details: name, surname, email address, phone number and password (stored only as a secure hash). When you sign up, we send a one-time code to your email address to check that it is yours.
  • Profile photo, if you add one.
  • Saved locations, such as home and work, with their addresses and map coordinates.
  • Bookings and trips: pickup and drop-off addresses and coordinates, times, number of passengers, booking codes, special requests, comments, cancellation reasons, ratings and tips. For charters, also stops, party size, purpose and notes. When you search for charter prices, we keep your stops, dates, party size, purpose and notes for 30 minutes.
  • Charter terms acceptance: the terms version, the prices and cancellation table shown, the time, your IP address and your browser or device details. This is evidence of what you agreed to.
  • Payment details: our payment processor handles your card. You enter your card details on the processor's own page. We store the card brand, the last four digits, the expiry month and year, the name on the card, any nickname you give the card, and a token that lets us charge the card for your bookings. Payment records and receipts also keep the card's last four digits. We never see or store your full card number.
  • Payments, refunds and receipts: the amounts we charge and refund for each booking, and the receipts we issue, with your name and email address.
  • Reviews you write about an operator, with your name and trip details.
  • Favourite companies, and your rating and trip count.
  • Ratings and comments that drivers give you after a trip.
  • No-show reports: if a driver reports that you did not come to the pickup, we record this with the ride, with any no-show fee.
  • Charter cancellation for a death or hospitalisation: if you cancel for this reason, we record the reason, and you email us proof so that we can refund you. The proof can be about you or another passenger and can contain health information, which POPIA treats as special personal information (section 26).
  • Device token for push notifications, and the in-app notifications about your bookings, which can include names and addresses.
  • Your device location, if you allow it (section 4).

If you use the Zuttle Driver app (drivers)

  • Account details: name, surname, email address, phone number, employee code and password (stored only as a secure hash). Your operator usually creates the account and gives us these details. When your operator gets a temporary password for you, it is shown to them once and we store only its hash.
  • Driver documents: photo, driver's licence document and, for charter work, your professional driving permit (PrDP) with its number, issuer and expiry date.
  • Location while you are online and during rides (section 4), with speed and heading.
  • Driving and work records: trips and rides, distance driven, time online, shift start and end times, speeding events, acceptance rate, complaints, ratings and earnings.
  • Device token for push notifications, and when you last signed in.
  • Payout records from before 4 November 2026, if Zuttle paid you then: the amount, the period it covers, what it was made up of (trip earnings and tips) and the bank details it was paid to; and the notifications we send you. Zuttle no longer pays drivers: your operator pays you, and Zuttle pays your operator.
  • Approval notes that Zuttle staff record when reviewing your account and documents.

If you run an operator company

  • Company and contact details: company name, email address, phone number, address, website, logo and photos, and the areas you operate in.
  • Password, stored only as a secure hash, and one-time codes for password resets.
  • Vehicles: make, model, year, colour, type, number of seats, licence plate number and photos.
  • Compliance documents: operating licences, passenger liability insurance and driver permits, with their numbers, issuers and expiry dates.
  • The driver details you enter for your drivers, and your records about them, such as working hours, days off and operating areas.
  • Approval records: registration status, our review notes and approval date, and your charter application status.
  • Banking details, transactions and payouts: your share of each fare and the payouts we make to you.

If you join the waitlist on zuttle.io

  • Email address, name and whether you are a traveller or an operator.
  • Operators who complete our follow-up questionnaire: contact number, company name, base city, services, vehicle types, fleet size, approximate monthly trips, licences, how you take bookings, whether you want a demo and how you heard about us.
  • Travellers who answer our follow-up questions: town or city, how you heard about us, and what interests you most.

If you run a transport company that we contact

We look for transport companies that may want to join Zuttle, in public sources such as Google Maps and the companies' own websites, and contact them by WhatsApp (from a founder's phone), by email from an @zuttle.io address, or by phone. We keep the business name and type, the contact person's name, business phone and email, website, street address and area, public Google Maps listing details (link, rating, number of reviews), and notes on our contact with you. We keep these outreach records in private GitHub repositories and in Notion. They also cover operators on our waitlist, for whom we copy the waitlist details and questionnaire answers from our main database.

If you contact us or make a request

The details you send us, such as your email address or phone number and your message. If you make a PAIA or POPIA request, we also keep your identity number, proof of identity and, if you act for someone else, proof of your authority.

Technical information

When you use our apps or website, our servers receive your IP address and your device or browser details. We use your IP address to keep the service secure, for example to limit repeated sign-in attempts.

4. Location

Drivers

Zuttle Driver collects your precise location while you are online, including when the app is in the background or the screen is off. On Android, this happens only if you allow it on our location notice or in your phone's settings. On iPhone, your phone shows a location indicator while it happens.

We use it to send you nearby trip requests, estimate pickup times, time your trip reminders and give you directions, and to let the traveller see you approaching. During a ride, the app sends your location every few seconds. It is shared with the traveller you are carrying and saved with the ride, with speed and heading, to record the route and to calculate distance and speeding events. When you go offline and are not on a ride, the app stops sending us your location.

Your operator can see your location on its fleet map. When you are offline, the map shows your last known position and when it was recorded.

If you turn location access off, the traveller and your operator cannot see your live position, and your last known position stays on your record. If you are online and not on a ride, we take you offline after 2 to 4 minutes without a location update, and put you back online when your app sends a location again, if you and your vehicle can still take trips.

While you are online and not on a trip, signed-in travellers see a map of nearby available vehicles showing each vehicle's approximate position (to about 150 metres), the operator's name and its average rating. It does not show your name, your own rating or the vehicle.

If your operator takes on-demand rides, a traveller who asks for a ride near you sees a list of available drivers within about 50 km of the pickup, and drivers whose position is not yet known. Each entry shows your first name and the first letter of your surname, your photo, rating and number of trips, and the vehicle's type, make, model and colour (not the plate), with an arrival estimate. The 50 km limit and the estimate use your approximate position. If you are chosen for a ride, by the traveller or by us, the traveller receives your full name, your phone number and the vehicle's licence plate, before you accept the request.

Travellers

If you allow it, the Zuttle app uses your device location to show your position on the map, find nearby vehicles and fill in your pickup address. To find nearby vehicles, the app sends your position to our server about every 10 seconds while the app is open on your screen. We do not save that position with your account, and we do not track your phone during a trip. We do record the vehicle's route from the driver's app, and keep it with the ride. We store the pickup and drop-off points of your bookings and any saved locations you add. We store a ride or booking request as soon as you make it, even if it is never booked.

You can turn location access off in your phone's settings. Finding nearby vehicles and filling in your pickup address then do not work, but you can still type an address and book.

5. Must you give us this information?

  • Required to use Zuttle: your name, email address, phone number and a password; for a booking, the pickup, destination, time and number of passengers; for a card payment, a card through our payment processor. Without these we cannot open your account or take your booking.
  • Required for drivers and operators: the account details, documents and vehicle details listed in section 3, and for operators the banking details. Without them you cannot be listed, and an operator cannot be paid. We do not ask drivers for bank details. Some of it the law requires: operating licences under the National Land Transport Act 5 of 2009 and professional driving permits under the National Road Traffic Act 93 of 1996.
  • Optional: your profile photo, saved locations, device location, reviews, comments, tips, card nicknames and waitlist questionnaire answers. Leaving them out limits only the feature they support.
  • Required by law to keep: booking, payment, receipt and payout records, under the Companies Act 71 of 2008 and the Tax Administration Act 28 of 2011 (and the Value-Added Tax Act 89 of 1991 once we register for VAT). Our payment processor must identify operators it pays out to under its own legal duties, including the Financial Intelligence Centre Act 38 of 2001.

6. Why we use it, and our lawful basis

POPIA allows us to process personal information only for a lawful reason (section 11). These are ours:

What we doLawful basis (POPIA section 11(1))
Create and run your account and sign you in; send one-time codes by emailNeeded to perform our contract with you (b)
Take bookings, match you with an operator and driver, show live ride progress, send trip notifications and remindersContract (b)
Take payments, issue receipts, and pay operators (who pay their drivers)Contract (b); legal obligation for financial records (c)
Keep trip, booking, receipt and payment recordsLegal obligation under tax and company law (c)
Check driver and vehicle documents; monitor driving, such as speeding eventsLegitimate interest in passenger safety (f); legal requirements for transport operators (c)
Show operator ratings and reviewsLegitimate interest in helping travellers choose a trusted operator (f)
Record your acceptance of charter termsContract (b); legitimate interest in showing what was agreed (f)
Prevent fraud and misuse, and keep the service secureLegitimate interest (f); legal obligation (c)
Handle a charter cancellation for a death or hospitalisation, and check the proofTo establish your right to a refund (POPIA section 27(1)(b)); where the proof is about you, also your consent (27(1)(a))
Waitlist emails: a welcome email with a questionnaire link, up to two reminders, and launch newsYour consent, given on the waitlist form (a)
Contact operators who join the waitlist about listing, by email, WhatsApp or phoneYour consent, given on the waitlist form (a)
Contact transport companies that may want to join ZuttleLegitimate interest in building our network of operators (f)
Answer messages, account deletion requests and PAIA and POPIA requestsLegal obligation (c); legitimate interest in helping you (f)
Review operator, driver and charter applicationsLegitimate interest in passenger safety (f); legal requirements for transport operators (c)
Use a traveller's device location and chosen profile photoYour consent, through your phone's permission prompt or by choosing the photo (a); contract (b)
Use a driver's profile photo, which travellers seeContract (b); legitimate interest in passenger safety, so travellers can recognise their driver (f)
Collect a driver's location while online and during ridesContract (b); legitimate interest in dispatching and passenger safety (f). Your phone's permission prompt controls access
Record a ride's route and speedsLegitimate interest in passenger safety and handling disputes (f)

We do not sell your personal information, and we do not use it for third-party advertising or ad targeting.

7. Who we share it with

Within a booking

  • Operators and their drivers receive the pickup and drop-off details, times, number of passengers and any special requests, so they can carry out the trip, and the following about the traveller:

    • Pre-booked trips: the operator sees your first name, phone number, email address, rating and number of trips; the driver sees your first name, phone number and profile photo.
    • On-demand rides: the operator sees your first name, phone number and email address; the driver sees your first name, phone number, rating, number of trips and profile photo.
    • Scheduled seats: the operator's passenger list and the driver show your name, surname and phone number.
    • Charters: before the booking is confirmed, the operator sees only your first name, the party size, purpose and stops; once it is confirmed, the operator and driver see your name and phone number.

    Where the driver has your phone number, the driver can call you from the driver app, and for a charter can also message you on WhatsApp.

  • Travellers see the driver's name, photo, rating and phone number, and the vehicle's make, model, colour and licence plate, so they can find the right vehicle. During a ride, they see the driver's live location. Before booking, travellers see the nearby-vehicles map and on-demand driver profiles described in section 4.
  • Operators see the details and driving records of their own drivers and vehicles, and the reviews written about them, with the reviewer's full name and the trip's pickup and drop-off addresses.

Operators may use traveller information only to carry out the booking and meet their own legal duties. They may not use it for their own marketing.

Publicly

Operator profiles, including reviews, are public. A review shows the reviewer's first name and first letter of their surname, the rating, the comment, the review date and the trip's date and type, not the addresses.

Service providers

These providers help us run Zuttle. Where a provider processes information on our behalf, it may use it only to provide its service to us. Google Maps Platform, Google Fonts, our payment processor and WhatsApp also use what they receive under their own terms and privacy policies.

ProviderWhat they doWhat they receive
Paystack Payments South Africa (Pty) LtdCard payments, holds, refunds, and payouts to operatorsYour name, email address and phone number, the amounts, and your card details, which you enter directly with the processor. For operators: company, director and bank details for payout accounts and identity checks
Our bankPaying operators (where not paid out by the payment processor); operators pay their driversAccount holder names, bank names, account numbers, branch codes and amounts
RailwayHosting our servers, this website and our databaseOur main database, which holds most of section 3 (not outreach records, emails or WhatsApp chats), and all information passing through our servers
Cloudflare (R2)Storing uploaded photos and documentsProfile, driver and vehicle photos, licence documents, logos, gallery photos and compliance documents; and the IP address of anyone whose app or browser loads them
Google (Firebase Cloud Messaging)Push notificationsDevice tokens and notification text, which can include names and addresses
Apple (Push Notification service)Push notifications to iPhonesDevice tokens and notification text
Google (Maps Platform)Maps, address search, directions and travel timesSearch text, addresses and coordinates; your IP address and device details when maps load. The driver app can open Google Maps for directions
Google (Fonts)Fonts for this website and the operator portalYour IP address
ResendSending email (one-time codes, booking emails, waitlist emails, deletion requests) and keeping our waitlist mailing listEmail addresses, names and email content
GoDaddy (email hosting)Our @zuttle.io mailboxesEmails we send and receive, including proof sent for a death or hospitalisation refund
NotionOperator onboarding and outreach recordsOperator waitlist details and questionnaire answers; details of transport companies we contact, with notes
GitHubStoring our outreach recordsAs for Notion
WhatsApp (Meta)Messages to transport companies and waitlist operators; charter drivers messaging travellersPhone numbers and messages

Others

  • Authorities, such as the police, a regulator or a court, when the law requires it or when it is needed to protect someone's safety.
  • Professional advisers, such as accountants, auditors and lawyers, when we need their advice.
  • A buyer or investor, if we sell or restructure the business, under a confidentiality agreement and only as far as needed. We will tell you if your information passes to a new responsible party.

8. Information sent outside South Africa

Some providers process or store information outside South Africa:

ProviderWhere
RailwayThe Netherlands (EU West region, Amsterdam)
Cloudflare (R2)Outside South Africa, in the region of our storage bucket
Google (Firebase, Maps Platform, Fonts)The United States and other countries where Google has facilities
Apple (Push Notification service)The United States and other countries
ResendThe United States
GoDaddyThe United States and other countries
NotionThe United States
GitHubThe United States
WhatsApp (Meta)The United States and other countries
PaystackSouth Africa, and other countries where its group operates

POPIA section 72 allows a transfer when (a) the recipient is bound by law, binding corporate rules or an agreement giving protection substantially similar to POPIA; (b) you consent; (c) or (d) it is needed for a contract with you or in your interest; or (e) it benefits you and consent is impractical.

9. How long we keep it

  • Your account is kept while it is open. When you delete it, we remove your identity as described below and on zuttle.io/delete-account.
  • Trip, ride, booking, receipt, payment and payout records are financial records. We keep them for at least 5 years from the date the return is submitted (Tax Administration Act, sections 29 and 32) and 7 years for company records (Companies Act, section 24). We do not yet delete them automatically after that period.
  • A ride's GPS route and speeds are kept with the ride, for passenger safety and disputes. A ride keeps only its most recent 500 location points (about the last 25 minutes of a ride). We do not yet delete routes after a set period.
  • After a traveller deletes their account, our records no longer show their name or contact details. They still hold the pickup and drop-off addresses, map points and times, and the vehicle's route. Notifications that operators and drivers received keep the addresses. The traveller's comments stay, shown as from "Deleted user", and so do comments drivers wrote about the traveller. A review keeps its rating and comment under "Deleted user", without addresses. For a charter, we remove the notes, each stop's full address and note, and the IP address and device details we recorded; each stop keeps its place name and map point. A note written when cancelling a charter stays. Saved cards and card tokens are removed, including the token copied onto payment records; the card brand and last four digits stay on receipts.
  • After a driver deletes their account, receipts and travellers' notifications show "Deleted driver". We keep: the trips, rides and charters they drove and each ride's route; daily driving statistics, shift history and ratings; performance metrics such as acceptance rate, complaints and speeding incidents; earnings totals, working hours and fee percentage; average rating, trip count and distance; approval status and date; the operator's notifications that name them; the employee code, so the operator can match its records; payout records with the account holder's name and bank account; for each PrDP, its type, licence code, issuer, expiry, status and verifier, without the file or permit number; and comments they wrote about passengers. Their photo, licence file, PrDP files and location are deleted.
  • A driver account that an operator or Zuttle removes, deactivates or rejects can no longer sign in, but its details are not deleted. You can ask us to delete them at zuttle.io/delete-account.
  • An operator company that asks us to close its account is suspended so it cannot sign in. We keep its trip and payment records as the law requires, and its company, vehicle and driver records. We do not yet delete them after a set period.
  • One-time codes expire after 10 minutes. Charter price searches are deleted after 30 minutes. Payment notifications from our payment processor are deleted after 90 days. Drivers' daily statistics keep the 90 most recent working days.
  • Waitlist details are kept until you ask us to remove them. Deleting a traveller account removes your waitlist record from our main database. To remove it from our mailing list, outreach records and other copies, email support@zuttle.io.
  • Copies outside our main database: support emails (including deletion requests and refund proof) stay in our mailboxes and our email providers' records; Resend keeps records of the emails we send; server logs can contain names, emails, employee codes and trip addresses and are not cleaned when an account is deleted; this website keeps its own file of waitlist sign-ups; founders and admins receive alert emails (new waitlist sign-ups, operator and vehicle registrations, new drivers, charter alerts including a death or hospitalisation cancellation) that stay in their mailboxes; payout files stay on staff computers; outreach records are copied on founders' computers; WhatsApp chats stay on a founder's phone.
  • For anything not listed, we keep information only as long as we need it for the purposes in section 6, or longer if the law requires (POPIA section 14).

10. How we protect it

  • Passwords, including a driver's temporary password, are stored only as secure hashes.
  • On zuttle.io, your sign-in session is kept in a cookie that the page's scripts cannot read.
  • Information travels between your device and our servers over encrypted connections (HTTPS).
  • Our apps open compliance documents only through links that expire after 15 minutes.
  • We never hold the full card number. Payment notifications from the processor include a masked card number, and we delete them after 90 days.
  • Access to the admin tools is limited to authorised Zuttle staff, and the tools record who approved, verified, rejected or paid what.
  • We limit repeated sign-in attempts.

No system is perfectly secure. If a security compromise affects your personal information, we will tell you and the Information Regulator as soon as reasonably possible, as POPIA section 22 requires.

11. Marketing

We do not send travellers or drivers marketing messages unless you opt in. Every marketing message tells you how to stop it, free of charge (POPIA section 69). Booking messages, receipts and service notices are not marketing.

12. Automated decisions

We do not make decisions about you with legal consequences based solely on automated processing (POPIA section 71). Two things happen automatically: a driver who is online but sends no location for 2 to 4 minutes is taken offline (and put back online automatically), and when a traveller chooses an operator rather than a driver, the system picks an available driver. If you disagree with an automated outcome, contact us and a person will review it.

13. Your rights

Under POPIA you have the right to:

  • ask what personal information we hold about you and get a copy (section 23);
  • ask us to correct information that is wrong or out of date (section 24);
  • ask us to delete your information (section 24). Travellers and drivers can delete their account in the app, under Settings, Delete Account. The apps refuse while you have a booking or assigned work in progress or coming up. There is no delete button on zuttle.io, but anyone can ask at zuttle.io/delete-account, for example a driver who can no longer sign in. Some records we must keep by law (section 9);
  • object to processing based on legitimate interest (section 11(3));
  • withdraw consent at any time, for example by turning off location access or asking us to stop waitlist emails. This does not affect processing that already happened;
  • not receive direct marketing you have not agreed to (section 69);
  • not be subject to a decision based solely on automated processing (section 71); and
  • complain to the Information Regulator (section 16).

To get a copy of your information, use the request procedure in our PAIA manual (zuttle.io/paia); POPIA section 25 applies that procedure. Asking whether we hold information about you is free. For your own personal information, POPIA allows only a prescribed fee, if any, and we tell you in writing before we charge anything.

To correct or delete your information, use Form 2 of the POPIA Regulations or write to us in your own words, at support@zuttle.io, by post or by hand to our address, or as a reply to a message we sent you. This is free. We tell you in writing what we did within 30 days.

To object, use Form 1 of the POPIA Regulations or write to us in your own words, free of charge, in the same ways.

We may ask you to confirm your identity before we act, so nobody else can get or delete your information.

14. Children

Zuttle accounts are for people aged 18 and over. A parent or guardian can book with their own account for a child who travels as a passenger. A booking asks only for the number of passengers, not their names. If you cancel a charter for a death or hospitalisation, the proof can be about a child who was due to travel; we use it only to decide the refund. Otherwise we do not knowingly collect children's personal information. If you believe a child has given us personal information, email support@zuttle.io and we will delete it.

15. Cookies and browser storage

  • zuttle.io uses one cookie, only when you sign in to your traveller account. It keeps you signed in, the page's scripts cannot read it, and it expires with your session (7 days by default) or when you sign out. It is needed for the account you asked for, so we do not ask for separate consent.
  • The charter booking page saves your unfinished charter search (stops, dates, party size) in your browser's local storage so you do not lose it, and keeps a pending request in session storage while you add a card. These stay in your browser; clearing your browser data removes them.
  • This website uses no analytics or advertising cookies or trackers. It loads fonts from Google Fonts, so Google receives your IP address. Your account page loads your profile photo from Cloudflare, which also receives your IP address.
  • The operator web portal stores your sign-in session and company profile in local storage so you stay signed in; they are removed when you sign out. A "remember me" setting stays until you clear it. The portal loads fonts from Google Fonts and maps and address search from Google Maps, so Google receives your IP address and what you type into an address search. If the portal's map has no driver positions to show, it can ask for your browser's location to centre the map; that location stays in your browser.

If we ever add analytics or advertising tools, we will update this policy and ask for your consent first.

16. Complaints

If you are unhappy with how we handle your personal information, please tell us first at support@zuttle.io so we can try to fix it. You also have the right to complain to the Information Regulator (South Africa):

17. Changes to this policy

We update this policy when what we collect or how we use it changes. The date at the top shows the latest version. If a change is significant, we tell you in the app or by email before it takes effect.

18. Contact us

Zuttle (Pty) Ltd
Registration number: 2026/320705/07
Information Officer: Jean Hannah
Email: support@zuttle.io
Telephone: 087 265 7250
Address: 179 Mackenzie Street, Brooklyn, Pretoria, Gauteng, 0181