Last updated: 2026-11-02
This Privacy Policy explains how Jeremy Kidder ("we," "us," or "our") collects, uses, stores, and protects your personal information when you visit our website (mywork.makeitnice.world and associated subdomains), use our owner portal, or engage us for home improvement, web design, software development, or other services.
By using our website or engaging our services, you consent to the practices described in this Privacy Policy.
If you use our owner portal (login.mywork.makeitnice.world), we additionally collect:
Our SMS program complies with the U.S. Telephone Consumer Protection Act (TCPA) and the carrier rules under 10DLC. If you opt in to receive SMS/text messages from us:
We use a small number of first-party cookies and browser storage. We do not use any third-party advertising or tracking cookies. For full details, see our Cookie & Session Notice.
| Name | Type | Purpose | Duration |
|---|---|---|---|
mw_rv | First-party cookie | Records whether you are a returning visitor. Contains only "1". | 365 days |
PHPSESSID | Session cookie | Maintains your login session (owner portal and admin panel only). Not set for regular website visitors. | Browser session |
mw_sid | Session storage (not a cookie) | Anonymous session identifier for grouping page views within a browsing session. Automatically deleted when you close the tab. | Tab close |
mw_lang | First-party cookie | Stores your preferred language selection for translated content. Contains a language code (e.g. "es", "fr"). | 365 days |
mw_notrack | First-party cookie | If set, disables all analytics tracking for your browser. Used for self-exclusion opt-out. Contains only "1". | 2 years |
mw_consent | First-party cookie | Records your cookie-consent choice from the on-site banner (necessary / analytics / preferences). Set the first time you make a choice; not set until then. | 365 days |
On your first visit we show a small banner at the bottom of the screen with three choices: Accept all, Necessary only, or Customize. Your choice is stored in the mw_consent cookie above so the banner doesn't show again. You can change your choice anytime by clicking Cookie Preferences in the footer of any page, or opening the preference panel right now. We do not fire analytics until you've made a choice and selected analytics on.
Our first-party analytics system collects data across all pages on our domains (public website, owner portal, and all related portals). We track:
utm_source), and the ad click identifier an ad platform adds to the link when you click one of its ads (Google's gclid, gbraid or wbraid, Microsoft's msclkid, Meta's fbclid, TikTok's ttclid, X's twclid, LinkedIn's li_fat_id). We use these only to count which ads and sources bring people to us; we do not send them back to the ad platforms. If you send us a form, we note which visit you arrived on, and the names (not the values) of any ad click identifiers it carried, so we can count it. None of this is kept when you have opted out or your browser sends Global Privacy Control.All analytics data is stored in our own database on our own server. We do not share this data with third-party advertising or analytics networks. We do not use Google Analytics, Facebook Pixel, or similar services.
You can opt out of all analytics tracking at any time by visiting our self-exclusion page. This sets a cookie (mw_notrack) that prevents all analytics data collection. You can reverse this at any time by visiting the same page.
You can also control cookies through your browser settings. Disabling cookies may affect portal login functionality.
When you view a pro's profile in the Find-a-Pro directory, or you initiate contact with a pro through their profile (click their email, tap their phone, visit their website, or send them an in-platform message), we record the event in our internal contact log. This serves two purposes:
What we store: the pro you contacted, the channel you used, the time, a salted SHA-256 hash of your IP address (not the raw IP), and your browser's user-agent string. If you were signed into a homeowner portal account at the time, your contact ID is also recorded; otherwise the event is anonymous.
What we do not store on these events: we do not store the contents of the email or call you subsequently make outside the platform — the platform doesn't see those. If you use the in-platform contact form, the subject and body you submit are stored alongside the event because that's the message we relay.
Retention: raw contact events are retained for 24 months. The cryptographic proof entries associated with active outreach are permanent (by design of the proof chain).
When your contractor sends you an email or SMS through the platform, or you open a document we link to you, we may record that the message or document was opened. This lets your contractor see whether you received and viewed important items (an estimate, an invoice, an appointment notice), and it provides timestamped dispute evidence in the Integrity Proof Chain.
What we store: which communication or document was opened, the channel (email, SMS, or portal), how the open was detected, the time, a salted SHA-256 hash of your IP address (not the raw IP), and your browser's user-agent string. If you were signed into your portal account at the time, your contact ID is recorded.
We are honest about what an open actually proves — we classify each open by how strong the evidence is and never claim more than the signal supports:
An SMS open is only ever detected when you tap a tracked link in the text — standard text messages have no "read receipt" available to a business sender. A message being delivered to your phone is tracked separately and is not the same as it being opened.
Opt-out: the mw_notrack self-exclusion cookie (see tracking opt-out) suppresses open recording for tracked links and pixels. We never store your raw IP address for these events.
When you watch a live stream on the platform, your browser sends a lightweight periodic "heartbeat" so the broadcaster can see, in real time, how many people are watching and receive a notification when a new viewer joins. We keep a single presence record per viewer per stream while you are watching, and we delete it shortly after you stop.
What we store: a random per-browser token (not linked to your identity on its own), a coarse device class (mobile, tablet, or desktop), an approximate city derived from your IP, a salted SHA-256 hash of your IP address (never the raw IP), and the times you started and were last seen watching. We do not store your email address on these presence records.
When your name is shown to the broadcaster: if you are signed into your portal account, or you have completed the one-time email verification to join a stream's live chat, the broadcaster's private viewer list shows your name next to your presence entry. Everyone else appears simply as "Guest." Your name is only ever resolved and shown within the account that owns the stream you are watching — it is never surfaced to a different business. If you would rather remain anonymous to the broadcaster, watch without signing in and without verifying for chat.
Retention: viewer-presence records are transient — they exist only while a stream is live and are pruned automatically. This presence data is analytics only and is not entered into the Integrity Proof Chain.
During a video call you may choose to turn on Spot to share your live location with the other people on that call. Sharing is strictly opt-in and per-call: nothing is shared until you turn it on, your browser asks for location permission first (that permission prompt is your consent), and your location stops being shared the moment you turn it off or leave the call. This is not background tracking — it only runs while you are on the call and have Spot switched on. Every participant can share their own location, and each person on the call sees the shared pins on a small map.
What happens depends on whether the call is recorded:
The map itself is drawn using map tiles from CARTO/OpenStreetMap; your device requests those map images directly. The account you are on the call with can also disable the Spot feature entirely.
We use the following third-party services:
| Service | Purpose | Data Shared |
|---|---|---|
| Stripe | Payment processing | Billing details you provide at checkout. We never store your credit card information on our servers. Stripe Privacy Policy |
| Resend | Sending emails | Your email address and email content (confirmations, reminders, notifications). Resend Privacy Policy |
| ip-api.com | IP geolocation | Your IP address (for approximate location). Results are cached on our server to minimize requests. ip-api.com Terms |
| Cloudflare | Website delivery and security; bot protection on our forms (Turnstile) | Your IP address and browser details as you load our pages, and a short check when you submit a form, to tell people from automated bots. The check usually runs invisibly. Cloudflare Privacy |
| Cloudflare R2 | Encrypted proof-payload object storage | Proof payload data (cryptographic fingerprints, record identifiers, amounts) stored as encrypted objects for tamper-evidence and disaster recovery. No names or contact information. Cloudflare Privacy |
Note: through April 2026 we also used Pinata (an IPFS pinning service) for the same purpose. Pinata was decommissioned from our pipeline in April 2026; historic proof CIDs created during that period may remain reachable via Pinata's public gateway as well as the general IPFS network. New proof entries do not use Pinata.
We do not sell, rent, or trade your personal information to third parties. We may share anonymized, de-identified, and aggregated data that cannot be linked to any individual (see Section 9).
We implement reasonable administrative, technical, and physical safeguards to protect your information, including:
No method of transmission over the Internet is 100% secure. While we strive to protect your data, we cannot guarantee absolute security.
To protect both you and Jeremy Kidder against disputes and data tampering, we maintain a cryptographic proof chain for critical business records.
When certain business records are created or materially updated, our system generates a one-way cryptographic fingerprint (SHA-256 hash) of that record. The types of records covered include:
These hashes are one-way cryptographic fingerprints. The original data cannot be derived or reconstructed from the hash. No names, dollar amounts, message content, or other personal information is contained in the hash itself.
To provide independent, tamper-proof timestamps, proof hashes are periodically anchored to public blockchains:
No personal information, dollar amounts, names, addresses, message content, or document text is ever stored on any blockchain. Only cryptographic hashes and internal reference identifiers are anchored.
For records where independent later verification is valuable (signed estimates, change orders, signature events, payments, and on opt-in — progress photos and message threads), we store an encrypted snapshot of the full record alongside the hash, in a separate table protected by AES-256-GCM encryption at rest. This snapshot is what allows a third party (a future buyer, an insurer, a court) to view the actual signed content years later, with cryptographic proof that it hasn't been altered since the moment it was captured.
The encrypted snapshot is never publicly addressable. It is stored in our database and is only retrievable via a time-limited share link that the homeowner explicitly creates and sends to a recipient (see "Verification Share Links" below). If you request deletion of your data, the encrypted snapshot is destroyed; only the immutable hash remains on-chain.
When enabled, full proof payload data is stored on the InterPlanetary File System (IPFS) via a self-hosted Kubo cluster we operate, and on Cloudflare R2 as encrypted object storage, for redundancy and decentralized availability. IPFS content is keyed by a unique content identifier (CID) and is not browsable, indexed, or discoverable — it can only be retrieved by someone who already knows the exact CID. Content is encrypted at rest, so a CID without the corresponding key is unusable. Proof payloads stored on IPFS may contain record-level data (amounts, descriptions, record identifiers) but do not contain names, email addresses, phone numbers, or other contact information.
History: through April 2026 we used Pinata (a commercial IPFS pinning service) for the same purpose. Pinata was removed from the pipeline in April 2026 in favor of self-hosted IPFS + R2. Historic CIDs from that period remain unaltered and reachable via any IPFS gateway.
You can choose to issue a time-limited verification link from your portal that lets a specific recipient (a buyer, insurer, lawyer, inspector) view a verified record without needing a portal account. These links are:
You see every link you've issued (and can revoke them) from your portal. Tenant administrators and platform administrators can also see and revoke shares within their scope for compliance and abuse-response purposes.
Once a proof hash is anchored to Bitcoin or Ethereum, it cannot be removed or modified. This is by design — it is what provides tamper-evidence. However, because the hashes contain no personal information, this does not affect your ability to request deletion of your personal data from our systems.
If you request deletion of your personal data (see Section 11), we will delete or anonymize your data in our database. The one-way hashes that remain on public blockchains cannot be used to reconstruct, identify, or access the deleted data in any way.
The proof chain exists to provide tamper-evidence and dispute protection for all parties. It enables independent verification that business records have not been altered after creation, protecting both contractors and clients.
We may create anonymized and aggregated datasets derived from platform activity. These datasets have all personally identifiable information permanently removed and cannot be linked back to any individual user, client, or project.
If you do not wish for your data to be included in anonymized datasets (even though it cannot be traced to you), you may request exclusion by contacting us. We will exclude your records from future anonymization batches. Note that data already anonymized and distributed cannot be recalled, as it is no longer identifiable.
If we build a website, application, or software product for you, please note:
You have the right to:
If you are a California resident, you have specific rights under the California Consumer Privacy Act (as amended by the CPRA):
Anonymized, de-identified data that cannot be linked to any individual is not considered personal information under the CCPA.
If you are located in the EEA, the UK, or Switzerland, you have specific rights under the GDPR (and the UK GDPR):
Our legal bases for processing are: contract performance (providing the services you request), consent (for marketing emails and optional cookies), legal obligation (financial records, dispute documentation), and legitimate interest (security, fraud prevention, platform improvement). For international data transfers we rely on Standard Contractual Clauses where required.
Self-service tools. If you have a homeowner portal account, you can download a copy of your data and request account deletion directly from your portal Account tab — both as part of our standard self-service rights surface. Account deletion has a 30-day grace period during which signing back in cancels the request. For requests we can't satisfy through self-service (corrections to records created by a contractor, persona-specific requests for tenant/PM/pro accounts that aren't yet on the self-service surface, or any other exceptional request), contact us using the information in Section 16. We respond within the timeframe required by the applicable law (generally 30 days for GDPR, 45 days for CCPA) at no charge.
For the proof chain specifically: cryptographic hashes anchored to public blockchains (Bitcoin, Ethereum, IPFS) cannot be deleted from those networks. However, the underlying data that is hashed lives in our database; we can delete that underlying data on request, leaving only an unlinkable hash on-chain. See Section 8 for how the proof chain interacts with personal data.
Engineering draft — pending legal review.
PrEzO Audio is our audio-first calling feature, which also offers video and screen-share. What we collect and keep depends entirely on the mode the call is in. The three modes form a privacy ladder from fully recorded to fully private. This section supplements the "Live Location Sharing During Calls (PrEzO Spot)" disclosure in Section 5, which follows the same recorded-vs-private logic.
| Mode | Recording | Encryption | What we can access / store |
|---|---|---|---|
| Standard | Recorded & proof-welded | Encrypted in transit (TLS) | The call recording, transcripts where generated, and key call events — entered into the Integrity Proof Chain (Section 8) and retained. |
| Stealth | Not recorded | Encrypted in transit (TLS) | No audio, video, or screen content. Only minimal operational metadata (below). |
| SuperStealth | Not recorded | End-to-end encrypted (E2EE) | Media is encrypted between participants; we cannot access its contents. Only minimal operational metadata (below). |
We describe encryption only as strongly as it is true:
To connect, secure, and bill a call, we process a limited set of metadata even when no recording is made and even under E2EE:
In Stealth and SuperStealth, this operational metadata is the only thing that exists about the call — there is no content, transcript, or Proof Chain entry.
If someone on a live call nudges you to join, we process your phone number to send the SMS and record a minimal, non-proven log of the nudge for cooldown and block enforcement. You can stop nudges by replying STOP or using the opt-out link in the message; blocks apply per-sender and per-room. The platform may send a nudge to an invited guest without exposing that guest's phone number to the business. Nudge SMS is otherwise governed by the SMS policy in Section 4.
Your access, correction, deletion, portability, and objection rights (Section 12), including the CCPA/CPRA and GDPR/UK-GDPR rights described there, apply to PrEzO Audio data. For Standard calls, the same interplay as the rest of the Proof Chain applies: we can delete or anonymize the underlying recording and records in our systems on a valid request, while the one-way hash already anchored to a public blockchain remains (it contains no personal information and cannot be used to reconstruct the deleted data). For Stealth/SuperStealth calls there is no content to delete — only the minimal operational metadata, which is purged on the schedule above. Our legal bases mirror Section 12: performance of the service you request, your consent (notably for recording and for optional identity steps), legal obligation, and legitimate interest (security and abuse prevention).
When a PrEzO Audio call takes place in a Business context on behalf of an MWAdmin subscriber, that subscriber is the client-facing party and acts as the data controller for the interaction with their client; we act as the data processor, processing the call data on the subscriber's behalf to provide the service. This mirrors the roles in our Data Processing Agreement, which governs that relationship. For Personal calls made by individual users, we process the data as described in this Policy.
Consistent with our practice of telling you what matters when it matters rather than burying it, PrEzO Audio shows short notices at the point they apply — for example, a recording-consent prompt before a call is recorded, an "End-to-End-Encrypted" indicator only while a call is actually E2EE, and the STOP/opt-out language in every nudge message. This Policy documents those notices; the product presents them at the moment of need.
PrEzO Audio is intended for individuals 18 years of age or older, consistent with Section 14 (Children's Privacy).
Our services are not directed to individuals under the age of 18. We do not knowingly collect personal information from children. If we become aware that we have collected data from a child under 18, we will take steps to delete it promptly.
We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated "Last updated" date. Continued use of our site or services after changes constitutes acceptance of the revised policy.
If you have questions about this Privacy Policy, your data, or wish to exercise your rights, contact us:
MyWork platform subscribers: see our Platform Terms of Service, Platform Privacy Policy, and Data Processing Agreement.
Quick questions? Chat with Jeremy now.
To enable notifications for Kwik Chat, install the App below!