Localsville Privacy Policy
1. Who we are
Localsville is an app for finding the people and places in your own town — neighbours who offer things, local businesses, and the occasional hand with a pickup or delivery. Localsville LLC operates it.
Localsville is a place to find each other. What happens next — a haircut, a jar of honey, a lift for a parcel — happens between real people in the real world.
2. What we collect
You give us
| Data | When | Notes |
|---|---|---|
| Phone number | Sign-in | The only identifier we require. Verified by SMS through Firebase. |
| Email address | Only if you add one | Optional. Confirmed with a code before it counts. Never used to sign in, and never for marketing. See "Email, if you add one" below. |
| Profile details | If you create a profile | Display name, tagline, story, the collections you pick, your community. |
| Photos | If you add them | Profile and offering photos, stored in our Supabase storage. |
| Offerings | If you list them | Titles, descriptions, prices, availability. |
| Place address | If you publish a Place | Street address for a Place you run, and its coordinates. |
| Messages | When you message someone | Conversation content between you and another person. |
| Requests and commitments | When you use them | Quotes, appointments, pickups and deliveries, including any note you write. |
| Delivery destination | For a courier delivery | Stored encrypted, and revealed to the assigned courier only when the delivery is live. |
| What you type into search | When you search | Used to answer that search. We do not build a search history. Localsville has no record of your past searches to show you or us. When a search needs it, the words you typed are also sent to OpenAI to work out what you are looking for (section 5). |
| Saved profiles and blocks | When you save or block someone | Your Saved list and the people you have blocked, visible only to you. |
| Support and reports | When you contact us or report something | What you tell us, and what our team records while reviewing it. |
Email, if you add one
Adding an email address is optional. You can add one in the app under Settings → Email for updates. We send a 6-digit code to that address, and it is only added to your account once you enter the code. An address can belong to one Localsville account only. Your phone number is still how you sign in. We never use your email to sign you in, and we never use it for marketing.
We send three kinds of email:
- The code that confirms your address.
- A short note to your old address if you change it, so you know it was changed.
- Activity emails, only if you turn them on. They stay off until you switch them on. Confirming your address does not switch them on. When something important is waiting for you, like a new message, a quote, a booking or appointment, a payment that needs you, or a profile review result, and a notification may not have reached you, we send a short email asking you to open the app. It says what kind of thing happened. It does not include names, message text, amounts, addresses or times.
Every activity email has a link that turns them off in one click. Our email provider, Resend, tells us if an email to your address bounces or is marked as spam. We note that on your address, and a spam report turns activity emails off.
If you remove your address, it comes off your account straight away and we stop sending email to it. Our record of the emails we sent, which includes the address they went to, is deleted after 90 days. Codes are deleted after 30 days.
If you email us, we receive the address you write from and keep it with your request.
Your device gives us
| Data | When | Notes |
|---|---|---|
| Location | Only if you turn it on | Used to suggest your community and show how far away things are. Coarsened on our servers before it is stored, except a pickup point you set for local delivery — see below. You can browse by town instead and never share location. |
| Voice, if you dictate a search | Only while you dictate | Speech recognition is performed by your device's operating system, which may send the audio to its own servers (for example Apple's) to transcribe it. Localsville does not receive or store audio — we receive only the resulting text, as if you had typed it. |
| Push notification token | If you allow notifications | Identifies your device so we can send you an update. Not an advertising identifier. |
| Whether notifications are on | While you are signed in on a phone | Whether your phone currently allows notifications from Localsville. It tells us when a notification may not reach you, so an activity email can be sent if you turned them on. Deleted when your account is anonymised. |
| Basic device/app info | Ordinary app operation | The technical information any app exchanges with its servers. |
| How you arrived | When you sign up or start a conversation | Which part of Localsville led there — for example search, a shared link or a notification — stored as a fixed label on your account or the conversation, never as text or location. |
| How you use the payment screens | When you pay or get set up to be paid | Stripe's payment components record limited information about how their own screens are used, along with basic device and app details. Stripe uses it to complete the payment, prevent fraud, and for its own analytics. It is not used for tracking. Stripe's components may also send Stripe reports about their own errors. |
| Diagnostic information | Ordinary app operation | The Firebase and Google components we use for sign-in and notifications collect limited diagnostic information about their own operation — enough to tell whether they are working — and use it to run those services and for their own analytics. Those providers state this diagnostic information is not linked to your identity. |
| Server logs | Every request | Our hosting keeps operational logs of requests to our servers. Our provider documents that these can include the client IP address, the request method and URL, the user agent, and coarse geographic metadata. They are used to run and secure the service, not to profile you. |
About location, specifically
We should be precise about this, because there is a difference between what we store and what we ever show.
- The address you publish for a Place — stored precisely, because you chose to publish it. A Place shows an exact address only when its owner turned that on.
- The location you set for discovery — snapped to a grid of roughly a quarter of a kilometre on our servers before it is stored. The precise fix from your device is checked and then discarded; we do not keep it. Every distance, every card and every query works from the snapped grid cell.
- What anyone else can derive from it — every distance shown in discovery is calculated from that snapped grid cell, never from a precise point. Nothing un-snapped from your discovery location reaches another user or another device. That is what stops someone reading several distances and triangulating where you live.
- A pickup point you set for local delivery — stored precisely on your profile so a delivery can be priced from it. The point itself is never shown to anyone, but a buyer who asks for delivery sees the distance and delivery fee worked out from it. It is cleared when your account is anonymised.
- A delivery drop-off address is stored encrypted, and revealed only to the assigned courier while the delivery is live. A courier delivery uses the drop-off location to work out the distance; we keep that distance and a general area, not the drop-off coordinates. A weekly job clears the address and delivery notes from the delivery record between 30 and 37 days after the delivery ends. The encrypted copy attached to the quote that paid for it is kept beyond that, and is not reached by that job — that is the present position, not the one we intend.
Your discovery coordinates are cleared when your account is anonymised.
We do not track you in the background. Location is read when you ask for something that needs it.
Payments
Card details never reach our servers. Payment is handled inside Stripe's own payment sheet; Stripe collects and processes the card. What we store is the record of the transaction — amounts, status, timestamps, and Stripe's identifiers for it. If you get paid through Localsville, Stripe Connect collects the identity and bank details it needs to pay you, and we store the resulting Stripe account identifier and payout ledger entries.
What we do NOT do
- No advertising, attribution or dedicated analytics SDK ships in this app. We do not use Google Analytics, Crashlytics, Sentry, or any advertising or attribution SDK. The operational providers we do use — Stripe for payments, Firebase for sign-in and notifications — collect the limited interaction and diagnostic information described above, for running their services and for their own analytics.
- We do not use your data for tracking. Localsville does not track you across other companies' apps or websites, and every provider above declares that what it collects here is not used for tracking either.
- We do not sell your data to advertisers. There is no advertising in Localsville and no advertising relationship to sell into.
- We do not build advertising profiles, and we do not share your data with data brokers.
- AI features are limited and named. Two features use an outside AI service (OpenAI): Search, and the short summary Localsville can write about your profile. Search sends only the words you typed, and only when it needs to. The summary is your own choice, asked first and yours to turn off. A third, AI-powered discovery, is no longer used (section 5). Your private messages, photos, payment details, contact details and precise location are never sent to an AI service. Section 5 explains them in full.
3. Why we use it
- To sign you in — your phone number, verified by SMS.
- To show you your town — local discovery, search, distance.
- To understand what you asked for. When a search needs it, the words you typed are interpreted by OpenAI so plain English finds the right neighbour (section 5).
- To let you be found — your public profile and offerings, as you chose to publish them, matched to what people search for by the kinds of offering you list, your name, your short description and your offering titles.
- To carry a conversation — messages, quotes, appointments, pickups and deliveries.
- To move money correctly — payments, refunds, and payouts through Stripe.
- To tell you something happened — notifications, if you allow them.
- To email you, only if you ask. The code that confirms your address, a note if your address changes, and activity emails if you turn them on. Never marketing.
- To understand what is working — counting which parts of Localsville lead to sign-ups and conversations.
- To keep people safe — reports, moderation review, support, and acting on abuse.
- To prevent fraud and meet our legal obligations — including keeping financial records.
Localsville does not currently use your content to train its own AI models. If an AI feature would ever involve a service provider using your content to improve its models, this policy will say so before that feature is enabled.
4. Who else touches it
| Processor | What for |
|---|---|
| Supabase | Our database, storage and server functions — where your account and content live. |
| Firebase (Google) | Phone-number sign-in and push notification delivery. |
| Resend | Sending the emails described in section 2, if you add an email address. Resend receives your address and the email we send you, and tells us whether it was delivered. |
| Stripe | Payments, and payouts via Stripe Connect. Stripe is its own controller for payment data; see Stripe's privacy policy. |
| OpenAI | The AI features described in section 5: working out what the words you type into search mean, and writing the short public summary of a profile whose owner asked for one. Nothing else is sent to OpenAI. |
| Apple / Google | App distribution, platform notification services, and your device's own place-name lookup when you use your location or type a town or an address. |
| OpenStreetMap | Map tiles for the maps in the app. Your device requests them directly from OpenStreetMap, an independent service, which receives your IP address and the map area on screen. |
Each is a service provider handling data on our instructions, except Stripe and OpenStreetMap, where noted. We do not sell or rent your data to anyone.
Where your data is held. Localsville's own database and storage are hosted in the United States. If you use Localsville from outside the US, your information is processed there. Our service providers each process data in their own locations, which we do not state here.
5. AI features, and what they send
Two parts of Localsville use an outside artificial-intelligence service. Our AI service provider is OpenAI. OpenAI processes this text on Localsville's behalf to provide the AI features described below.
Search uses it only when a search needs it, and sends only the words you typed. Localsville's summary of your profile is your own choice: it asks your permission first, stays off until you say yes, and can be switched off again afterwards. Searching never turns it on, and Localsville works fully without it.
The calls to OpenAI are made by our servers, never by your phone, and our key to their service never leaves our servers.
Search
This one is about finding. Search first works out by itself what you are looking for, from the words you typed and a fixed list of the kinds of help, things and experiences people offer on Localsville. When your words do not name any of those kinds, Localsville sends the words you typed into the search box to OpenAI, which picks the kinds that fit from that same list. It cannot add anyone to your results. It can only say which kinds of offering to look for, and Localsville then shows the people who offer them.
- Only the search text is sent. Not your name, your account, your phone number, your location, your device or its identifiers, and nothing about the profiles that come back.
- Most searches send nothing. A search like "photographer" or "pet sitter" is understood without OpenAI. So is a search for someone's name.
- We keep the answer, not your words. So the same search is not sent twice, we keep the kinds of offering OpenAI picked, filed under a one-way code made from the words. We do not keep the words themselves, and the code cannot be turned back into them.
- Older versions of the app keep their switch. If your app still shows a "Search with AI" switch, it works exactly as it always has: while it is off, nothing you search is sent to OpenAI.
- We do not build a search history. Localsville has no feature that shows you, or us, a list of what you have searched for, and we do not keep your search text against your account in order to build one. Your words are used to answer that search. What OpenAI does with its copy is described under "True of all of them" below.
AI-powered discovery (no longer used)
Earlier versions of the app offered profile owners AI-powered discovery: with their permission, the public text of their profile was sent to OpenAI and turned into a mathematical representation of its meaning, to match against what searchers described. Search no longer uses it. People now find a profile by the kinds of offering it lists, its name, its short description and its offering titles, whether this was ever turned on or not, and we no longer make new representations.
- If you turned it on before, the representation made from your public profile text is still stored. You can delete it at any time from your profile editor, and it is deleted with your profile. It is not shared and is not used for anything else.
- What was sent was only text already public on your profile: your display name, your short description, your story, your neighborhood, the collections you appear under, and the titles and descriptions of your published offerings. Never your prices, address or coordinates, contact details, photos, messages, or payment or payout details.
Localsville's summary of your profile
This one is about what is said about you, and it is also the profile owner's choice. If you have a profile, you can ask Localsville to write a short public summary of it — two or three sentences, in Localsville's words, shown on your profile in the app and on your public page on this website. To write it, we send OpenAI the public text of your profile: your display name, your short description, your story, the collections you appear under, the titles and descriptions of your offerings, your neighborhood and your community.
- What is never sent: your prices, your address or any coordinates, your phone number or other contact details, your photos, your messages, your payment or payout details, and anything else that is not part of your published profile.
- Nothing happens unless you turn it on. Publishing a profile does not require this; it is a separate, optional choice.
- It keeps itself current. When you meaningfully change the public text of your profile, the summary is written again from your new text.
- You can withdraw at any time. Turn it off and the stored summary is deleted, stops appearing on your profile and your public page immediately, and no new one is written.
- It is written only from what you published. It is instructed to invent nothing — no prices, no qualifications, no ratings, no claims about how good you are — and when there is not enough in your profile to say something specific, Localsville publishes no summary rather than a vague one.
Separate from each other
- Search affects only your own searches. It does nothing to your profile, and you do not need a profile to use it.
- Localsville's summary is not required to publish a profile, to be found, to message anyone, to buy, to sell, to be paid, or to use any other part of Localsville. Turning it on or off does not change how people find you.
- Deleting an earlier AI-powered discovery representation leaves your summary setting exactly as it was, and the other way round.
True of all of them
- Private messages are never sent to an AI service. Neither are photos, payment or payout details, contact details, delivery destinations, precise location, or anything from support and safety reports.
- Localsville does not use your content to train its own AI models, and does not sell it.
- OpenAI is our processor, not a partner we hand you to. Under our data processing agreement with OpenAI, OpenAI processes this information on Localsville's behalf to provide the AI services we request, subject to its contractual security, abuse-prevention and legal obligations.
- Your content is not used to train AI models. OpenAI does not use what is sent through its API to train or improve its models unless the customer explicitly opts in. Localsville has not opted in, and we have turned off every data-sharing and model-improvement setting on our account.
- How long OpenAI keeps it. For the OpenAI API endpoints Localsville uses, information we send may be included in abuse-monitoring logs that are normally retained for up to 30 days. OpenAI may retain it longer where required by law or where reasonably necessary to protect its services or others from harm.
- These features do not moderate anything. None of them decides what gets published, who gets approved, or what happens to a report. Public content review and reports are handled by a person on our team (sections 6 and 8).
- No AI system decides anything about you. Nothing about your account, your money or your standing on Localsville is decided by these features.
6. What other people can see
- Your public profile is what you choose to publish: your name, photos, tagline, story, offerings, community, and the location you chose to publish. Anyone browsing Localsville can see it, including people who are not signed in.
- Once your profile is approved and live, it also has its own page on our website, with a permanent address such as localsville.com/yourname-k7m. Older links to your profile keep working. Anyone on the web can open that page. It can be reached from Localsville pages that list the people on Localsville and in your community, and search engines such as Google can show it in their results. Search engines decide what they show and when.
- Publishing a profile makes your profile public, not your account. The page shows what you chose to publish on your profile. Drafts and profiles waiting for review are not public. Private account contact information, such as your phone number and email address, and your private messages are not made public merely because you publish a profile.
- If you deactivate or remove your profile, its web page stops showing it and we take it out of the list of pages we give to search engines. Search engines usually drop it after that, on their own schedule.
- Your public profile and offerings are reviewed by a person on our team before they first publish. Later changes to their wording or photos are reviewed again unless we have personally vetted your account, in which case they publish immediately — while an edit is being reviewed, the previously approved version stays live. This review is done by people, not by automated scanning.
- Your phone number is never shown to other users.
- Messages are visible to you and the person you are talking with. No person at Localsville reads a message before it is delivered, and nothing is held back for review. Messages do pass an automated safety check as they are sent: it looks for signs that a payment is being moved off Localsville, and a match raises an internal safety signal that includes the message text and can be seen by our safety team. Neither person is notified when that happens. Localsville personnel can otherwise read messages only for handling a report, for moderation and safety, for operating the service, and for legal compliance.
- If you block someone (Settings → Blocked people), neither of you can message the other, and you stop appearing to each other in Discover, Explore, search, the map and on profile pages. A conversation you already had stays in both of your lists, and a saved profile stays saved. The blocked person is not notified.
- A delivery address is revealed to the assigned courier only, and only while the delivery is active.
- A profile that is deactivated, removed, suspended or closed stops appearing in discovery, search and public pages.
7. Keeping and deleting
You can ask us to delete your account from Settings → Delete account, in the app.
What happens, exactly:
- Immediately — your account is deactivated and your profiles stop appearing publicly.
- For 30 days — nothing is anonymised, and you can cancel and come back. This window exists so a mistaken or angry tap does not destroy your history.
- After 30 days — a nightly process anonymises the account.
Anonymised, not erased — and the difference is deliberate. We do not delete your records. We strip your identity out of them and leave the records themselves in place, because those records are also somebody else's: the other side of a conversation, a payment, a delivery, or a safety report. Concretely, after anonymisation:
- your display name becomes "Former member";
- your phone number is replaced with an unusable placeholder, freeing the real number — it is replaced rather than blanked;
- your profile text and coordinates are cleared, and your photos are deleted: the records at once, and the image files from our storage shortly after, usually within minutes. If a deletion fails it is retried automatically until it succeeds. Your photos also stop being publicly viewable within minutes of asking us to delete your account;
- your email address, if you added one, is deleted along with any codes, and we erase it from our record of the emails we sent you. We stop sending email to it as soon as you ask to delete your account;
- your sign-in link is severed, so the account can never be signed into again;
- your messages, quotes, appointments, deliveries, transactions, payout ledger entries and any support or safety records remain, no longer carrying your name.
Sign-in is provided by Firebase. As part of final deletion, after the grace period, the Firebase authentication identity — the record holding your phone number — is also removed from Firebase's authentication system.
We keep the following on purpose, for as long as the law or safety requires:
- payment and transaction records, and payout ledgers (financial and tax obligations);
- support, safety and moderation records (so a resolved abuse report cannot be erased by the person who caused it);
- your Stripe customer reference, where one exists, for those financial records;
- the record that you accepted our Terms and Community Guidelines and confirmed you are 18 or older — the version and the time only, never a date of birth;
- anything a law or a legal hold requires us to retain.
Deletion also waits if something is unresolved — an active appointment or delivery, a payment in flight, an unfinished refund, money owed or owing, or an open safety review. We tell you in the app when this is why. See Account Deletion & Data Retention for every reason deletion can wait, and for a summary of what is deleted. Your email address, if you added one, is deleted as described in the list above.
8. Your choices and rights
- Location, notifications, photos — all optional, all controlled by your device's permissions, and all revocable at any time in your system settings. Localsville works without them; discovery falls back to choosing a town by name.
- Notification preferences — in the app, including quiet hours.
- Email. Adding an email is optional. In the app, under Settings → Email for updates, you can change or remove your address and turn activity emails on or off at any time. Each activity email also has a link that turns them off in one click. Quiet hours apply to push notifications, not to these emails.
- Your profile — edit, pause, deactivate or remove it at any time.
- AI features. Localsville's summary of your profile is yours to turn on or off at any time on your profile, and turning it off deletes the stored summary. If you turned on AI-powered discovery in an earlier version of the app, you can delete its stored representation on your profile too. In older versions of the app, Search with AI is on or off in Settings. See section 5.
- Blocking and reporting — block anyone from their profile or a conversation (managed in Settings → Blocked people), and report a profile or a message from inside the app. Reports are private and are never shown to the person reported.
- Access, correction, deletion — write to privacy@localsville.com and we will respond.
Depending on where you live you may have additional rights (for example under the CCPA/CPRA or the GDPR), including access, correction, deletion, portability, and the right not to be discriminated against for exercising them.
9. Children
Localsville is for adults. You must be at least 18 years old to use it. We do not knowingly collect information from anyone younger; if we learn that we have, we will delete the account.
10. Security
Access to your data is restricted at the database level, so one account cannot read another's private records. Delivery addresses are stored encrypted. Payment card details never reach our systems. No system is perfectly secure, and we do not claim otherwise.
11. Changes
If we change this policy we will update the effective date above and, for a material change, tell you in the app.