Privacy Policy
Effective date:
BuildBuddy, operated by Prince Musole, is the controller of personal data described here. Prince Musole is an individual based in Lusaka, Zambia. BuildBuddy helps homeowners and contractors manage residential building projects in Zambia. It is for people aged 18 and over.
What we collect and why
- Account information. Clerk handles email/password sign-in (which may require an emailed verification code on a new device), Google and Apple sign-in, and your sign-in profile. In our Convex database we store your account identifier, verified email, onboarding role and completion date. Profile names and passwords are not stored in the Convex users record.
- Your projects. We store build details, any location you enter, budgets, dates, stages, notes, materials, purchases, expenses, suppliers, photos, receipts, plans and documents to provide project planning and record keeping.
- Conversations and community activity. We store enquiries, messages, attachments, quotes, AI chat history, reviews, ratings, comments, reports, votes, saved contractors, showcases and contractor credits to provide those features.
- Contractor applications. We collect business details, contact details, trades, service areas, experience, NCC details and documents you submit, which may include NCC certificates, PACRA documents, identification or other supporting images. We store submission, decision and appeal information to assess and manage listings. Review usually takes 24–36 hours.
- Support and administration. Support messages are linked to your account. Authorised administrators can view these and your cached email to handle support. They can also see Clerk account details (name, email and sign-in status) in admin user lists, and contractor application details and documents, to manage accounts and review applications. We record account restrictions, application decisions and administrative changes for account management and accountability.
- Feature operation. We store AI attempt timestamps, operation types, claims and failure markers to enforce usage limits. We also store derived search records and generated results to support AI features.
- On your device. SecureStore holds onboarding and pending role-sync information, and the app uses Clerk’s session token cache. Camera, photo access and microphone permissions support taking or selecting images and asking build questions by voice.
- App updates. The app fetches code and asset updates from Expo/EAS through network requests needed to deliver updates.
BuildBuddy collects no payment or card data today. Paid plans, including AI credits and paid AI features, are planned. Before any payment data is collected, we will update this policy and disclose the payment processor.
AI processing
BuildBuddy currently uses OpenAI and Anthropic for AI features. The app can be configured to use another provider through an OpenAI-compatible interface. If one is ever enabled, it will be named in this policy before use.
Depending on the feature and configured provider, OpenAI, Anthropic or, if one is ever enabled, the OpenAI-compatible provider named in this policy receives text and images to classify uploads, extract house plans, propose and check plan edits, read receipts, moderate marketplace content and answer build questions. For most AI features, the app can try another configured provider if a request fails. Overview generation does not use this fallback.
Photos, plans and receipts sent for AI processing are sent as stored. Their file metadata, which can include location, may also reach the AI provider. Location metadata is removed only from the shared image types listed under What other users can see.
AI chat can receive your question, conversation history, project snapshot and relevant project records, including notes, locations, suppliers and amounts. OpenAI also receives derived project text and questions to create search embeddings. When optional web search is enabled, a separate request sends your question and town or country for local information.
Overview generation sends build type and counts for provider selection, then stage identifiers, names, order and status, expense counts and spending categories for layout generation. These overview requests exclude expense amounts and free-text notes.
For automated moderation, the providers receive contractor public listing text. Review and portfolio moderation sends the record, including internal identifiers and any off-platform contractor details entered with a review, plus relevant images.
Private contractor application documents, email, NCC number, admin notes and appeals are excluded from the contractor-listing moderation request. To check for duplicate portfolio photos, an AI-generated description of each photo is turned into an embedding by OpenAI and compared with existing ones.
Voice questions. OpenAI receives the audio for transcription. The default transcription model is gpt-transcribe, which configuration can override. Transcription returns text to the composer; it does not automatically send a chat message.
The app deletes the recording after transcription whether or not it succeeds. If that cleanup step is interrupted, the recording may remain stored, and the app does not currently remove such leftovers automatically, including when you delete your account. Abandoned, unconsumed uploads are handled by upload expiry. This describes our stored recording, not deletion of any copy held by the processor.
Service providers
| Provider | Role and data |
|---|---|
| Clerk | Authentication, sign-in profiles, sessions and account access controls. |
| Sign-in, only if you choose Google sign-in. | |
| Apple | Sign-in, only if you choose Apple sign-in. |
| Convex | Database, file storage and backend processing for account, project and community features. |
| OpenAI | AI text and image processing, search embeddings, optional web search and audio transcription described above. |
| Anthropic | AI text and image processing for chat, classification, extraction, moderation and generated layouts. |
| Expo/EAS | Delivery of app code and asset updates. |
Each provider handles data under its own terms.
What other users can see
Other signed-in users can see approved contractor listing details, including business name, phone, service areas, bio, trades and experience, published portfolio work and approved reviews. Published showcases, their photos, comments, vote totals and confirmed contractor credits can also be visible to other users.
Enquiry participants can see messages, attachments, quotes and the project details shared in that enquiry.
The app strips location metadata from successfully attached enquiry photos. It also sanitises showcase, review and portfolio photos and contractor application images. These paths accept supported JPEG images and reject images that cannot be sanitised. Private build photos, plans and receipts do not generally pass through this sanitizer. Locations visible in a picture or written in text are not removed by metadata stripping.
Profile-view records
When a signed-in user visits another contractor’s approved profile, we record the viewer’s account identifier, contractor and Lusaka calendar day, at most once per viewer per profile per day. Signed-out views and views of your own profile are not counted. Contractors see counts, not viewer identities. The dashboard shows the last 30 days, but the underlying records are kept indefinitely unless removed through account deletion.
Notifications and moderation
The app stores in-app notifications for application status changes and enquiry replies, including read status. These are in-app notifications; the current implementation has no push-notification integration.
Automated checks and administrator review help manage marketplace content. A contractor application that passes the automatic check still needs administrator review. Administrators can reject or suspend listings and restrict or ban accounts; related decisions and reasons can be recorded.
Retention and deletion
Most project, account and community records have no automatic expiry and remain until removed through the relevant feature or account deletion. Upload claims expire after 15 minutes; scheduled cleanup and a periodic sweep release abandoned uploads and unreferenced files. This expiry does not apply to files already attached to records.
You can request account deletion in the app or by email. See Account and data deletion for exact steps, timing and exceptions. Larger deletions continue in scheduled batches, which may run after the sign-in account is deleted.
Some records are kept indefinitely, with no automatic expiry:
- Enquiry threads with a deleted contractor, including messages, attachments and quotes, remain as part of the homeowner’s conversation record.
- Administrative audit records remain for accountability. Matching email fields are removed, but identifiers, actions, dates and detail text remain and may still contain personal information.
- Orders you placed with stores remain on the store’s records as “Buyer (deleted)”. Your delivery address, notes, payment reference and build link are cleared; the items, amounts, district and dates remain, and orders still in progress are not cancelled.
- References to a deleted contractor in other users’ saved-contractor and showcase-credit records remain as part of those users’ records.
Files still referenced by retained records are kept.
Security
We use authenticated access, ownership and participant checks, administrator permissions and upload checks to limit access and changes to data. No service can guarantee complete security.
International transfers
Clerk, Convex, OpenAI, Anthropic and Expo may process personal data outside Zambia. The Data Protection Act, 2021 (Act No. 3 of 2021) regulates transfers of personal data outside Zambia. Contact us about international processing or your data.
Your rights
Under Zambia’s Data Protection Act, 2021 (Act No. 3 of 2021), you may have rights to access your data and information about third parties to whom it was disclosed, rectify it, request erasure, object to processing and exercise rights concerning decisions based on automated processing. Contact us to exercise these rights. We may ask you to verify your identity. You may also complain to the Office of the Data Protection Commissioner.
Children
BuildBuddy is for adults aged 18 and over. If you believe a child has provided personal data, contact us so we can address it.
Changes to this policy
We will update this policy as our practices change and show the effective date on this page.
Contact
BuildBuddy, operated by Prince Musole
Lusaka, Zambia
For help, open the app and go to You → Help and support. For legal, privacy or data-rights requests, email pmusole2@gmail.com.