This page documents how people consent to receive text messages sent through CrewBadger, and what those messages say. It is written to be read by two audiences: a subcontractor deciding whether to opt in, and a carrier or messaging-industry reviewer verifying our application-to-person (A2P 10DLC) registration.
CrewBadger is field-service software operated by JKP Group LLC (d/b/a CrewBadger). Mailing address: 1498 Ave Fernandez Juncos, San Juan, PR 00909.
Status. Text delivery for this program is not live yet — it is gated on approval of the A2P 10DLC campaign this page is evidence for. Every notice described below currently ships by email, under the same consent, suppression, and opt-out rules. The consent screen in section 4 and the attestation control in section 3 are live today. Section 7 restates what changes at switch-on.
1. Who sends these messages, and who receives them
CrewBadger’s customers are contracting businesses — plumbing, HVAC, and electrical companies. This messaging program covers the texts those businesses send to their own subcontractors and vendors about specific jobs. Every message is initiated by a named business, or by a rule that business set up; CrewBadger never sends a message on its own behalf, and no message in this program is marketing.
Recipients are businesses and tradespeople the sending business already works with. There is no list, no purchase of numbers, and no cold outreach: a recipient is on this program because they opted in themselves (section 4) or because the business that hired them confirmed, on the record, that they gave it the number (section 3).
2. What the messages say
The program sends a fixed set of job-coordination notices. Each is triggered by a specific event in the sending business’s workflow:
- Invitation to onboard — the business asks a subcontractor to confirm contact details and file documents. This one is delivered by email (see section 3).
- Bid request and follow-up — a request to price a specific job, and a manual nudge on it.
- Bid outcome — awarded, put on hold, withdrawn, or closed out.
- Visit scheduling — a proposed window, a “site’s ready” notice, a day-before reminder, a confirmation, and a cancellation notice.
- Document requests and expiry reminders — W-9, certificate of insurance, trade license.
- Payment notice — confirmation that an invoice has been paid.
Every body identifies the sending business by name in a template-locked format. Links are first-party CrewBadger URLs only — on app.crewbadger.com, never link shorteners. Representative examples:
Apex Plumbing: Mike here — can you bid an electrical panel upgrade near Reston, VA? Scope + photos: https://app.crewbadger.com/bid/a1b2c3 — Sent by CrewBadger for Apex Plumbing. Reply STOP to opt out, HELP for help. Msg & data rates may apply.Apex Plumbing: good news — your $1,850 bid was accepted. Details and site address: https://app.crewbadger.com/bid/a1b2c3 Reply STOP to opt out.Apex Plumbing: the site is ready for your part of the job. Can you come Thu 8am–12pm? Confirm: https://app.crewbadger.com/vendor-visit/a1b2c3 Reply STOP to opt out.Apex Plumbing: we need your current certificate of insurance on file. Upload here: https://app.crewbadger.com/vendor-onboarding/a1b2c3 Reply STOP to opt out.Apex Plumbing: your $1,850 invoice for the Reston job is paid. Details: https://app.crewbadger.com/bill-paid/a1b2c3 Reply STOP to opt out.
“Apex Plumbing” above is a sample business name; on a real message it is the name of the business that hired the subcontractor. The a1b2c3 in each link stands for the private token that addresses the page to one recipient — the real token is 48 random bytes, and the page opens only for the person holding it, so these sample links resolve for nobody.
3. How the first contact happens — the business attests to an existing relationship
Nothing in this program starts with a cold text. A business typically already has a working relationship with a sub whose mobile number that sub gave them directly, in the course of that work. To send that first message, the person sending it must tick a confirmation that is never pre-checked. It reads:
I confirm Reyes Electric is a business contact of ours who provided this number to us in the course of our working relationship.
First message from your business to this number. Your confirmation is recorded with the send. Don't use CrewBadger to cold-text vendors you have no relationship with — that violates the Terms of Service and can expose your business to liability.
“Reyes Electric” is a sample name; on the real control it is the name of the subcontractor about to be texted.
Where this is enforced today, precisely. The confirmation is a hard server-side gate on the bid-request send path: composing a bid request to a number with no recorded relationship is rejected — nothing is sent, nothing is created — until the sender ticks it. The other notice types in section 2 do not yet pass through that gate, because none of them sends a text yet; routing every vendor send path through the same check is a stated precondition of switching text delivery on, so the gate covers the first message on every path before any of them can text anyone.
The confirmation is recorded against the send — who confirmed it, when, and the version of the wording they confirmed — and it is per-business: one business’s attestation is never another business’s basis. Our Terms of Service prohibit sending without a valid basis, and a business that abuses this loses access.
The onboarding invitation itself is an email. A business that wants a subcontractor to onboard sends the invitation to that subcontractor’s email address, so the consent page in section 4 is reachable without anyone having been texted first. A texted invitation is possible only for a number already covered by the attestation above. There is no path on which a text asks permission to send that same text.
4. How consent is collected — the subcontractor opts in
The emailed invitation gives the subcontractor a private link to their own onboarding page. Step 1 of that page confirms their contact details and carries the text-message consent checkbox. It is:
- Never pre-checked. The control initializes unchecked, with no default-checked state and no server-supplied initial value. Consent exists only if the person checks it themselves.
- Voluntary. The page can be completed in full without checking it, and the helper text says so.
- Unbundled. It is not tied to submitting documents, not tied to accepting terms, and not tied to any other consent. Uploading a W-9, an insurance certificate, or a license is never treated as consent to be texted. The vendor-passport opt-in, on a later step, is a separate checkbox in its own container and is explicitly not a messaging opt-in.
- Asked for by one named business. The checkbox names the business that invited you and says the choice covers texts from that business. Separately from the checkbox, the record that a business may contact you at all is written per business and number — one business’s relationship record is never another business’s basis to text you.
- Recorded. Checking the box writes a consent event with a timestamp, the IP address, and the version of the consent wording shown.
Here is that screen, reproduced from the same source it is served from:
Reproduction of the live consent screen — not a live form
This is step 1 of app.crewbadger.com/vendor-onboarding/<token>, rebuilt from the same source strings the live page is served. Everything that differs from the live screen is listed here and nowhere else: the controls are disabled, so nothing submits and no consent is recorded from this page; “Apex Plumbing” is a sample business name standing in for whichever business invited the subcontractor; the four contact fields show greyed sample placeholders instead of the values the live page prefills from the invitation; the two per-vendor opt-out links are inert labels, because each is bound to one vendor’s own private token; and the standing footer is reproduced below the card — where the live page puts it — one shade darker than the live grey so it is legible here.
Below the card, at the foot of the page after every remaining step (documents, then done), the live page prints this standing footer:
The last two are live links on a vendor’s own page; here they are plain text, because each is addressed by that vendor’s private token and cannot be exercised by anyone else.
2026-07-10 — the version recorded, with a timestamp and IP address, on every consent event a vendor creates by checking that box.Note that the “Preferred way to reach you” toggle above the checkbox is a routing preference, not a consent control — choosing “Text” grants nothing. Only the checkbox grants consent.
There are no other opt-in paths. CrewBadger does not collect consent by keyword, by paper form, by QR code, verbally, or at a point of sale.
5. Frequency, rates, and stopping the messages
- Message frequency varies — messages follow the lifecycle of a job, so volume depends entirely on how much work the two businesses do together. There is no recurring campaign or broadcast.
- Message and data rates may apply. CrewBadger charges subcontractors nothing; your mobile carrier’s ordinary rates are between you and your carrier.
- STOP stops everything. Reply STOP to any message and no business on CrewBadger can text you through us again — not the business you replied to, not a business you have worked with before, not a business contacting you for the first time, and with no time limit.
STOPALL,UNSUBSCRIBE,CANCEL,END, andQUITare honored the same way. Every message in this program leaves from one registered CrewBadger number pool, so a single STOP ends the whole program for your handset at the carrier — there is no per-business remainder for it to miss. Recording that block on our own ledger, so it is enforced in our send path as well as by the carrier, ships with text delivery and is a precondition of switching it on; nothing in the product can reverse it afterwards. - HELP. Reply HELP for assistance identifying the sending business and how to opt out.
- Links, not just keywords. Every vendor-facing page carries a standing footer with the Vendor Terms and the Privacy Policy and — wherever we hold a contact point to bind the link to — a per-business “stop messages” link and an absolute “stop all messages from every business on CrewBadger” link. Those two cover email as well as text, which replying STOP to a text does not; they are additional controls, not the route to a full stop, because STOP already is one. Nothing in the product silently reverses a stop-all.
- Contact-time preference. You can record a preferred contact window during onboarding, and it is stored with your profile.
Text delivery for this program is not switched on yet (see §7), so no subcontractor has received either of these. The automatic replies it will answer with, and the bodies registered with the campaign, are:
- Opt-out:
You'll no longer receive texts from CrewBadger businesses — every business, no time limit. This is permanent: replying START will not resume them. - HELP:
CrewBadger business messaging on behalf of local contractors. Contact the business named in your message, or hello@crewbadger.com. Reply STOP to opt out. Msg & data rates may apply.
6. Terms and privacy
Our Vendor Terms of Use govern the subcontractor-facing pages these messages link to. Our Privacy Policy describes what we do with the data, including a dedicated section on text messaging and TCPA consent. Businesses that send through CrewBadger are bound by our Terms of Service.
We do not sell phone numbers or message content, and mobile phone numbers are not shared with third parties for marketing or promotional purposes. Outside the business that already holds your number, we disclose it to the sub-processors that deliver the message on our behalf, to a recipient you direct when you choose to share a vendor passport profile with them, and where the law requires it — never to a data broker or an advertiser. The Privacy Policy is the complete list and names each sub-processor.
7. What changes when this program switches on
Text delivery for vendor and subcontractor messaging is not switched on yet — it is gated on approval of the A2P 10DLC campaign this page is evidence for. Until then every notice listed in section 2 is delivered by email, with the same consent, suppression, and opt-out rules applied. The consent screen in section 4 and the attestation control in section 3 are live today.
Switch-on carries two preconditions, and they are why the two statements above are worded as narrowly as they are:
- every vendor send path routes its first message to a number through the same attestation gate the bid-request path already enforces; and
- an inbound STOP records the platform-wide block on our own vendor consent ledger, so our send path enforces it independently of the carrier.
8. Contact
Questions about this program, or about a message you received: hello@crewbadger.com, or contact the business named in the message directly.
