1. Who we are
BidhaaLink is the data controller for the personal data described in this Policy. We operate the BidhaaLink multi-vendor marketplace.
"Personal data" means information about an identifiable person. "Processing" means anything we do with that data: collecting, storing, using, sharing, deleting.
These Terms describe the contract between you and BidhaaLink: Terms and Conditions โ Who we are.
2. What we collect
We collect the following categories of personal data:
Account data (Customer)
- Full name.
- Auto-generated username.
- Phone number (required).
- Email address (optional, used for password reset).
- Password, stored as a one-way bcrypt hash โ we never see the plain password.
- Date of registration.
Account data (Business Admin)
- Login email.
- Password, stored as a bcrypt hash.
- Business name, category, phone, and the location the business gives at registration.
Order and delivery data
- Products ordered, quantities, prices, order reference, order status history.
- Delivery address, recipient name, recipient phone, delivery instructions, pickup details, delivery code.
- Order chat messages and any delivery dispute messages.
Payment metadata
- Payment method (M-Pesa, Airtel, PayPal, bank, payment on delivery).
- Amount and currency.
- Provider transaction identifier and any callback reference the provider returns.
- Status of the payment (pending, success, failed).
We do not collect or store card numbers, PINs, or bank passwords. Those are handled directly by the payment provider.
Location data
- Business-provided location names, such as county and town, for discovery when a visitor searches for a place.
- Delivery addresses and any delivery coordinates a Customer provides with an order.
Usage data
- Cart contents.
- Wishlist.
- Chat messages that are not tied to a specific order.
- Reviews and ratings.
- Admin activity log entries for business admins and super admins (action, timestamp, details).
Acceptance records
- The date and time you accepted these documents.
- The version you accepted.
- Basic technical information about the device and browser that submitted the acceptance (user-agent, IP address).
The categories above are collected only as needed. For example, we cannot create a customer account without a phone number, because the phone number is the primary login identifier in Terms โ Eligibility and accounts.
3. How we use it
We use personal data to:
- Create and secure your account, and let you log in.
- Let Customers place orders and Businesses fulfil them.
- Process payments through the payment providers.
- Send transactional email (order confirmations, status updates, password reset, dispute notices).
- Let Customers and Businesses communicate about an order.
- Show businesses whose business-provided location names match a place typed into marketplace search.
- Detect and prevent fraud, abuse, and platform misuse.
- Comply with legal obligations.
- Improve the Marketplace: aggregate, non-identifying statistics about usage.
We do not sell personal data. We do not use personal data for behavioural advertising on third-party networks. We do not share a Customer's coordinates with any Business โ the coordinates are used on the server only to rank results.
4. Business data
For each Business, we store the business name, slug, description, mission, vision, logo, hero image, phone numbers, email addresses, physical location, the categories the business selected, the "What You Sell" keywords, the search tag, the payment methods the business accepts, and the delivery, return, replacement, and cancellation rules the business configured.
Most of this data is shown publicly on the Business's profile, because it is what a Customer needs in order to buy. The Business's login email and password hash are never shown publicly. The Business's obligations to keep this data accurate are in Terms โ Business obligations.
5. Order data
An order record contains the items, prices, quantities, the order reference, the status history, and the delivery or pickup details for that order. It links to the Customer who placed it and the Business that fulfils it.
Order chat messages are stored so that both parties can refer back to what was agreed. A delivery record with a delivery code is stored so that handover can be verified.
The rights and obligations attached to an order are described in Terms โ Orders and Terms โ Returns, replacements, refunds, cancellations.
6. Payment data
We store the metadata of each payment (method, amount, status, provider transaction identifier). We do not store the customer's payment credentials. Those remain with Safaricom, Airtel, or PayPal, and we only receive the confirmation the provider sends us.
For payment on delivery, the order stores the fact that a payment-on-delivery agreement was signed, together with the timestamp, IP address, and text of the agreement. The payment itself is settled between the Customer and the Business or its delivery agent.
The rules for paying for an order are in Terms โ Payments.
7. Location data
Marketplace discovery does not request a Customer's device GPS, save a preferred shopping area, or estimate a visitor's location from their IP address. Visitors can type a town, county, or other place into the single search field. Search matches business-provided location names.
If a Customer provides a delivery address or delivery coordinates for an order, we use those details to fulfil that order and share them with the Business responsible for delivery. This order information is separate from marketplace discovery.
Customer discovery coordinates or preferred areas saved before this feature was retired are no longer used for search. They remain only as legacy account data until the account is deleted; account deletion clears those fields.
8. Reviews data
When a Customer leaves a review on a product or a business, the review text, the star rating, and the date of the review are stored against that product or business. The review is displayed publicly with the Customer's display name.
A Customer can ask us to remove their own review. We may also remove a review that breaches Terms โ Ratings and reviews.
9. Acceptance records
When you accept these Terms and the Privacy Policy โ on the welcome splash, at registration, or at any point where we ask for a fresh acceptance โ we record the following, so that we can prove the acceptance if it is ever questioned:
- Which document was accepted (Terms, Privacy, or both).
- Which version was in force at the time.
- The timestamp of acceptance.
- The user-agent string of the device.
- The IP address that submitted the acceptance.
- The identifier of the account, once the account exists.
This is the only piece of data we collect specifically for legal purposes. It is described in Terms โ Eligibility and accounts.
11. Third-party services
Each of these services receives only what it needs:
- Safaricom receives the phone number and the amount for an M-Pesa payment.
- Airtel receives the phone number and the amount for an Airtel Money payment.
- PayPal receives the amount and the order reference.
- Cloudinary receives the media files uploaded by businesses.
- Google (Gmail SMTP) or SendGrid receives the recipient address and the body of the transactional email.
- OpenStreetMap Nominatim receives the search text a Customer typed for a place lookup.
- CartoDB receives only the tile coordinates needed to render the map in the browser.
The list of third-party services the Marketplace relies on is also in Terms โ Third-party services.
13. Retention
We keep personal data only for as long as we need it:
- Account data โ for as long as the account exists, plus the grace period described in Section 14.
- Order data โ for as long as necessary to provide receipts, resolve disputes, and satisfy tax and accounting obligations.
- Payment metadata โ for as long as the payment can be disputed, plus the retention period required by the payment provider.
- Chat messages โ for as long as the order chat can be referred back to; order chat is kept with the order.
- Legacy discovery location data ? until the account is deleted; this data is no longer used for search.
- Reviews โ for as long as the reviewed product or business exists on the platform.
- Acceptance records โ for the entire life of the account, plus the period required to defend against a legal claim.
- Admin activity log โ for as long as needed for audit purposes.
The end-of-life behaviour of a Customer or Business account is described in Terms โ Suspension and termination.
14. Account deletion
Customer account
A Customer can schedule their account for deletion from the account page. Once scheduled, the account is placed in a 30-day grace period. If the Customer logs back in during that period, the deletion is cancelled automatically. When the grace period ends, the account is anonymised: name, email, phone, and password are cleared, and location data is removed. The account row itself is not hard-deleted, because orders and chat messages reference it. Those references keep working, but they no longer identify the Customer.
Business account
A Business admin can schedule the business for deletion. The business is hidden from the Marketplace immediately, and placed in a 60-day grace period. If the admin logs back in during that period, the deletion is cancelled and the business is restored. When the grace period ends, the business is deactivated, its products are hidden, the owner's admin account is deactivated, and the search tag is released. The business row is not hard-deleted, because orders reference it.
The customer-facing wording of the deletion flow is in Terms โ Suspension and termination.
15. Your rights
Under the Kenya Data Protection Act, 2019, and subject to the conditions in that Act, you have the right to:
- Be informed about how your personal data is being used โ this Policy does that.
- Access the personal data we hold about you.
- Ask us to correct inaccurate data.
- Ask us to delete data that we no longer have a lawful reason to keep.
- Object to processing in certain circumstances.
- Ask us to restrict processing in certain circumstances.
- Receive your data in a portable format.
- Lodge a complaint with the Office of the Data Protection Commissioner of Kenya.
To exercise a right, contact us at georgebabji1220@gmail.com. We will respond within the time the Act requires. Some rights are limited where the data is needed to perform a contract, to comply with a legal obligation, or to defend a legal claim.
16. Security
We protect personal data with technical and organisational measures, including:
- Passwords are stored only as one-way bcrypt hashes.
- Sessions use HttpOnly, SameSite cookies, marked Secure in production.
- A double-submit CSRF token protects state-changing requests.
- A strict Content-Security-Policy limits which scripts and resources can load.
- Rate limiting protects authentication, order, and payment endpoints.
- Database connections use TLS.
- Access to production data is restricted to the people who need it to operate the platform.
No system is perfectly secure. If you believe your account has been compromised, contact us immediately at georgebabji1220@gmail.com. The contractual consequence of an account being closed for security reasons is in Terms โ Suspension and termination.
17. Children
The Marketplace is not intended for anyone under 18. We do not knowingly collect personal data from anyone under 18. If you believe we have collected data from a person under 18, contact us at georgebabji1220@gmail.com and we will delete the account. The eligibility rule is in Terms โ Eligibility and accounts.
18. International transfers
Some of the third-party services in Section 11 store data outside Kenya. Where that happens, we rely on the service's own data-protection commitments, and we share only the minimum data each service needs. The full list of services is in Terms โ Third-party services.
19. Changes
We may update this Policy from time to time. When we do, we will change the version number and effective date at the top of this page. If the change is material, we will notify you in-app or by email before it takes effect. If you continue to use the Marketplace after the change takes effect, you accept the updated Policy.
20. Contact
For any question about this Policy, or to exercise a data-protection right:
If you are not satisfied with our response, you may complain to the Office of the Data Protection Commissioner of Kenya.
For the general terms of using the Marketplace, see Terms โ Contact.