Job Traveler

Privacy

Privacy policy

Effective 2026-09-29

Job Traveler is operated by Anatoli Vishnyakov, doing business as Job Traveler. This policy covers jobtraveler.app, each shop's Job Traveler app, and the customer portal. A shop controls the job information it enters and which parts of a job it shares with its customer. We run the service, keep its records, and process account, support and payment information as described below.

Today

This website is a set of static files. It has no accounts and no cookies. There are two forms, one on the contact page and one on the signup page, and both are described below. Everywhere else nothing loads from another company's server: the fonts, the images and the small scripts all come from this site, and the server sends a content security policy that blocks anything else from being loaded even if it were added by mistake.

The web server keeps ordinary access logs, which record the requested address, the time, the browser's user agent string and the network address the request came from. Cloudflare sits in front of the site and keeps its own logs for the same reasons. Those logs exist to keep the site running and to investigate abuse.

What is not here

  • No advertising and no advertising identifiers.
  • No analytics script, from us or from anybody else. Nothing measures you in your browser.
  • No cookies, on any page. The robot check sets none, and nothing is stored on your device.
  • No sign in. A shop signs in at its own address, and this site has no way to reach a shop's data.

The shop application

A shop using Job Traveler works at its own address, for example yourshop.jobtraveler.app. The shop enters names, engine and job details, measurements, photographs, notes, messages, approvals and staff account details. We use these records to show the work to people the shop authorizes, apply the shop's checks, produce travelers and exports, and keep the service working. A customer sees only the job information the shop chooses to share in the portal.

The demo page links to sandbox.jobtraveler.app, which is our resettable shop application rather than another company's service. Entering it creates a temporary guest session without asking for an email address. Measurements you make there are attributed to the demo visitor and removed by the nightly sandbox reset.

The contact form

The contact page collects the name, the email address and the message you type, and records them together with the network address the submission came from and the page it was sent from. It also asks how you heard about us. That question is optional, you can leave it at “rather not say”, and what is kept is the answer you picked from the list plus anything you type in the box that appears if you choose “something else”. Nothing else is collected and there is no tracking cookie on that page.

The message is stored in two places, both ours: a file on the server that takes the form, and the application's own database. It is emailed to one mailbox that a person reads, and replying to that email answers you rather than a no reply address. It is kept while the conversation is open and for as long as we may reasonably need to remember it afterwards, and you can ask for it to be deleted.

The form uses Cloudflare Turnstile to tell a person from a robot. That is the one thing on this website that loads from another company's server. It runs on the two pages that have a form, contact and signup, and nowhere else, and Cloudflare receives the network address and browser information needed to make that judgement. It sets no advertising identifier.

A submission that is refused as automated is recorded too, with the reason. That sounds odd written down, so here is why: the alternative is throwing away a real person's message with a success message on screen and no trace anywhere, which is exactly what happened on a sister product and cost four people an answer they had asked for.

The signup form

The signup page collects your shop's name, the address you would like it to have, your own name, your email address and, if you give one, a phone number. It records them with the network address the submission came from, the same way the contact form does, and it uses the same robot check. It asks how you heard about us as well, and that question is optional here too. This form offers the list and no box to type in, because the answer is kept in the count described further down this page, and that count holds no words anybody wrote.

If the address you asked for is free, those details become a shop: the name and the address are your shop's, your name and email become the owner's account inside it, and we email you a single-use link to set a password. The email address is how we tell that a second attempt at the same address is you rather than somebody else, so it is kept even when the signup did not complete. A signup that fails is written down with the reason, for the same reason a refused contact message is.

An active shop uses the service under our terms. If you never set a password, the shop is unusable to everybody, and it and the details that made it are removed after 72 hours.

How this site is measured

There is no analytics script on this website. There is no Google tag, no Cloudflare Web Analytics beacon and no product of that kind from anybody, on any page. That was a decision rather than an omission, and it is checked by a test that fails if a page ever grows one.

What we do instead is count. The web server writes an ordinary access log, described at the top of this page, and we read our own copy of it to count how many people looked at a page and how many looked at the signup page. What is kept out of that reading is a date and time, which page, and the name of the website you followed a link from, if there was one. That last one is called the referrer, and the full web address is reduced to the site's name before it is stored, so a search you typed or anything else in that address is not kept. Your network address and your browser's identification are on every line of that log and neither is copied into the count.

Alongside that we record the steps of signing up: a signup was submitted, a shop was created, a welcome email was accepted by the mail provider, a password was set, the first sign in happened, the first job was written, the first measurement was taken. Each of those is a date and time, a step name, and the shop address it was about. The first of those steps also carries the answer to how you heard about us, if you gave one, as the single word you picked from the list. It is how we can tell whether the thing works and where people give up on it. There is no name, no email address, no network address and no identifier for you in any of it, nothing anybody typed in their own words, and nothing links one of those steps to a person.

None of this is stored on your device and none of it follows you to another website.

Accounts, payments and the customer portal

Staff sign in with a shop account. We store account details, password hashes, roles, session and security records so the right people can work on the right shop's data. The app may keep an offline copy of work on the device until it can sync; signing out of a shared device is important. Portal visitors use a link from the shop and can see the job details the shop released, ask questions and give approvals. We record those actions with the job so the shop can answer a later question about it.

When a shop subscribes, Stripe handles card entry and payment processing. We receive customer, subscription, invoice and payment status identifiers needed to provide access and answer billing questions. Job Traveler does not receive the full card number. Stripe's own privacy notice applies to its payment pages.

Who receives information

We use service providers for hosting, traffic protection, payments, email delivery, optional text messages and error reporting. These include Cloudflare, Stripe, Amazon SES, Twilio and Crashbox where those features are used. Each receives the information needed for its job: for example, Stripe receives billing details, an email provider receives the address and message being sent, and a messaging provider receives an opted-in number and message. The public website's two forms use Cloudflare Turnstile as described above. Service records are sent over encrypted connections; server integrations use their own credentials.

A shop may enable a customer-facing assistant. If it does, questions and the job details needed to answer them are sent to the language-model endpoint configured for that shop. Photographs themselves are not sent to that endpoint. We may also disclose information when law requires it or to protect the service and its users. We do not sell personal information or use it for advertising.

Security and storage

The shop app limits access by shop and user role, uses encrypted connections, and backs up its records. Error reports are filtered to avoid sending customer names and measurement values. No online service can promise that a security incident will never happen. If one affects your information, we will handle notice as the law requires.

The marketing pages do not set cookies. The shop app and portal use browser storage needed for sign-in, access and offline work. Stripe may use its own storage on payment pages. We do not put advertising trackers on these pages.

Getting in touch

Email [email protected] or use the contact page. Ask to see, correct, export or delete information about you. We may need to verify your identity and involve the shop that controls a job record before changing it. We will explain when a record must be kept for a legal or security reason.

Your mobile number, if you give us one

Giving us a mobile number is optional and nothing asks for it during signup. If you add one in Settings, then Profile, and tick the box, we store the number, the exact wording you agreed to and the date. We then text you a six digit code and you have to type it back before we send anything else to it, so a mistyped digit cannot end up texting a stranger about your account.

The number is used for one thing: sending you the four kinds of account message described in the terms. We pass it to our messaging provider so the message can be delivered.

We do not sell mobile numbers. We do not share them, or the fact that you consented, with any third party, affiliate or partner for marketing.

Reply STOP to any message and the number goes on a permanent do not text list that applies across the whole product, whatever account it appears on. Removing the number in Settings deletes it.

How long a shop's records are kept

A shop's job records are kept while the shop is paying. If a shop stops paying, the account becomes read only. Records remain available to read and export for at least 180 days. We show the planned deletion date and send reminders; deletion is held if no export has been downloaded. A final archive remains available for 30 days after deletion. Paying again before deletion restores write access. A manager can request deletion earlier; that request has a 30-day period in which signing in cancels it. Backups and records we need for security or legal obligations may remain beyond the active account. The terms explain the account effect.

We keep contact inquiries while we need them to answer and document the conversation. Access and security records are kept as needed to operate and protect the service. Contact us if you need details about a particular record. We may update this policy as the service changes; the date at the top identifies this version.