← 29SafetyEspañolLog in

Privacy Policy

Last updated: November 4, 2026

This policy explains what information 29Safety ("29Safety," "we") collects, why, and who we share it with. It covers our website and app.

This policy is written in English and Spanish, and both versions say the same thing. If you ever find a difference between them, email safetyteam@29safety.com and we will correct the version that is wrong. If the English and Spanish versions differ, the English version controls.

Information we collect

FromWhatWhy
Account users (owners, admins, foremen)Name, work email, company name, roleTo create and secure your account and contact you about it
Customers' recordsWorker names, phone numbers, emails, language preference, trade; certifications and expiry dates; JHAs; toolbox talk attendance and electronic signatures; incident reports, which may include injury detailsTo provide the service. The customer controls this data
PaymentsBilling name, email, and payment method, handled by Stripe. We see the card brand and last four digits only. For the free trial we also keep two one-way codes (hashes): one made from the email used to sign up, and one made from the card identifier Stripe gives us. We keep the codes, not the email or card itselfTo bill subscriptions, and to allow only one free trial per company and per card
Harli (synthetic intelligence assistant)Questions you type and the answers; notes about your company that an owner, admin or foreman asks her to remember (listed under Settings, on the Harli page, where they can be deleted); your thumbs up or down on an answer and any note you add; and, for each answer, a record of which sources and tools it usedTo answer you, keep conversation context, answer better for your company, measure whether her answers are getting better, and send escalations to the 29Safety safety team. When the 29Safety safety team answers an escalated question, it may save that answer for Harli to reuse: for your company, or, with your company's names and details removed, for other customers' similar questions
Live chatYour messages, the name and email you give us, the page you started on, and your language. On our website we also note the anonymous visitor ID described in the next row. A chat you start while logged in is linked to your account and companyTo answer you, email you our answer if you've left the page, and keep the conversation together. Messages that may not be in English are sent to Anthropic (the model provider behind Harli), which translates them into English for our team, and in Spanish chats our answers are translated into Spanish the same way
Device and usageBrowser and device type, approximate location (city and state, from our hosting provider), pages visited, buttons clicked, how far you scroll, the site that referred you, error logs, your device's time zone setting, whether the browser is being run by software, and whether someone moved the mouse, scrolled, tapped or typed on the page (so automated visits aren't counted). We use an anonymous visitor ID stored in your browser; when you're logged in, these records are linked to your account. We don't store IP addresses in our analytics and don't use cookies for it. If your browser sends a Global Privacy Control or Do Not Track signal, the ID lasts only for that visitSecurity, troubleshooting, and improving the website and service
Links in our emailsWhen we email a business about 29Safety, the link in that email can carry a short code that tells us which business it was sent to. If someone opens that link, the visit described in the row above is linked to that business's name and work email, which we already have because we wrote to themTo know whether a business we wrote to visited our website, so we can follow up or stop writing
Advertising measurementOur pages load Google's advertising conversion tag. It lets Google tell us when someone who clicked one of our Google ads goes on to start sign-up, create an account, or subscribe. To do this, Google may set or read cookies on your device. We send no customer records, names, or emails to Google. If your browser sends a Global Privacy Control signal, the tag doesn't loadTo see which ads work, so we spend less on ones that don't
BookingsYour name, email, company, the time you pick, your time zone and language, and what you'd like to talk about; for an on-site day, the address, crew size and dates; payment for paid sessions goes through StripeTo book the call or visit, confirm it, and remind you

Workers who only sign documents (no account) provide a signature and, automatically, their browser type. For QR sign-ins and gate check-ins they also enter the PIN their employer gave them, which is used only to confirm it's them. The employer that sent the link is responsible for that worker's information; we process it on the employer's behalf.

Safety observations with a hidden name. When a worker sends a safety observation and checks "Hide my name", who sent it is kept apart from the observation, where only the employer's owner and admins can see it.

Injury and health information in incident reports is sensitive. It's visible only to the employer's account users. Privacy-case names are hidden on OSHA 300 outputs as 29 CFR 1904.29(b)(7) requires.

Cookies

We set only the cookies the service needs: to keep you logged in, remember your company and display settings, and finish sign-up and payment. On our sign-up payment page, Stripe sets its own cookies to prevent fraud (for example, to recognize a device that was used before); Stripe says it doesn't share or sell this data to advertisers. Google's ad tag may also set cookies, as described above.

Who we share it with (service providers)

We don't sell personal information. The only advertising-related sharing is the Google Ads conversion measurement described above, which you can turn off with a Global Privacy Control signal.

  • Supabase (database, login, file storage)
  • Vercel (hosting)
  • Stripe (payments and payment fraud prevention)
  • Anthropic (the provider of the large language model behind Harli, document tailoring, and the automatic translation in live chat). Under Anthropic's commercial terms, Anthropic may not train its models on what we send through its service.
  • Resend (email delivery)
  • Carbone (makes the Word and PDF files when you download a program: the program's text and the logo, signature and photos printed in it are sent to Carbone to build the file, and Word templates you upload are stored there so they can be filled in). Carbone says it doesn't keep the text it receives or the finished file beyond what it needs to make and deliver the file. Its servers are in France.
  • The video meeting service the safety team uses for calls (the link in your booking confirmation)
  • Google (Google Ads conversion measurement only, described above)
  • Website and app analytics are our own (first-party). No outside analytics company receives them.

We may also disclose information if required by law, to protect people's safety, or as part of a merger or sale (with notice to you).

How long we keep it

While your account is open. If the account is locked because a payment failed or the paid time ended, we keep everything for 90 days so you can pay or get a copy; then we email the owner and admins a complete copy of the company's records and may delete the account's data. If a payment is refunded, access ends right away, and before the data is deleted we email the account owner a copy of the records the company entered itself. We keep information longer only where we must for legal, tax, or dispute reasons. Live chat conversations are deleted 1 year after the last message. The one-way codes kept for the free trial stay after an account is deleted, so the same email or card can't start another free trial. Notes your company gave Harli and your thumbs up or down are deleted with the account; an answer the 29Safety safety team saved for every customer (with your company's names and details removed) stays. Backups roll off within 30 days.

Before an account is deleted (at the customer's request, or after it has been locked for 90 days), we email the company's owner and admins a complete copy of the company's records: every program, JHA, toolbox talk, training record, certification, incident and OSHA log, inspection, permit, signature, and uploaded file. The download link works for 90 days. Employers must keep certain safety records for years (for example, OSHA injury and illness records for 5 years under 29 CFR 1904.33, and exposure and medical records longer under 29 CFR 1910.1020); keeping that copy is the employer's responsibility.

When a single worker is removed, their personal details are erased, but documents they signed (sign-in sheets, training records, signed JHAs) keep their name and signature, because the employer may be required to keep those records. Workers named in an injury or illness case from the last 5 years can't be erased until that retention period ends.

Security

Each company's data is separated at the database level (row-level security). Data is encrypted in transit (HTTPS) and at rest by our hosting providers. Logins that turn on two-step verification need the code to reach their data. Access by the 29Safety safety team is limited to what's needed for support.

Your choices and rights

You can view, correct, export, or delete your account information in the app or by emailing safetyteam@29safety.com. Depending on your state (for example California, Texas, Colorado, or Virginia), you may have additional rights to know, correct, delete, or port your data, or to opt out of certain processing. We'll respond within the time the law requires. Workers who want their data changed should contact their employer; we'll help the employer respond.

Children

The service is for businesses and isn't directed to anyone under 18.

Changes

We'll post changes here and email account owners about material changes.

Contact

29Safety, 1725 Nail Dr., Lancaster, TX 75146, (214) 930-4774, safetyteam@29safety.com

Terms of ServiceSafety DisclaimerAbout 29Safety