Privacy
Privacy policy
What we collect on this website and in our client portal, who handles it for us, and how to have it deleted.
Effective
- We collect what you send us, and what our clients put in their portal.
- The visitor counter on this site sets no cookies.
- We don't sell personal information or use it for advertising.
- Our clients' customer details belong to our clients. We use them only to do what the client asks.
- Ask us, and we'll tell you what we hold about you, or delete it.
01 Who we are
Mortensen Web Co. is a one-person web design business in Riverton, Utah, run by Jack Mortensen. "We" on this page means the business.
This policy covers mortensenweb.com and the client portal at portal.mortensenweb.com. It doesn't cover the websites we build for clients. Each of those belongs to the business it's for.
02 When you contact us
The contact form asks for your name, email, business name, your current website if you have one, the plan you're interested in, and your message. It runs on Netlify Forms. Netlify stores what you send and passes it to us by email and into the enquiry inbox in our portal.
Email to us goes to a Gmail account, so Google stores it. If you call, we may note what we talked about.
We use all of this to reply to you and to quote for the work. We don't add you to a mailing list.
03 Visitor counting on this site
We count visits with Umami Cloud. It sets no cookies. It records the page you opened, the site that sent you, your browser, operating system and type of device, and your approximate location. We also count clicks on our phone number, our email address and the contact form's Send button.
Umami uses your IP address briefly to tell visits apart and estimate your location, and doesn't keep it in the visitor records. It may keep it in its own security logs. We see counts and pages, not names.
This site's two typefaces load from Google Fonts, so your browser asks Google's servers for them. There are no ad trackers or social media pixels on this site.
04 Client portal accounts
Each portal user has a name, an email address, a username and a password. We store passwords only as a salted one-way hash (PBKDF2 with 600,000 rounds), so we can't read them.
Signing in sets one cookie that keeps you signed in for up to 30 days. The portal needs it to know who you are. It isn't used for tracking or ads, and the portal has no analytics.
To stop password guessing, we log sign-in attempts, with the email address and IP address stored only as one-way hashes. We also keep a log of important actions, such as payments and approvals. We can open your portal as you see it to help you, and each time we do is logged.
Clients also put their business details, change requests, photos and files, approvals and billing in the portal. That's kept in our database and file storage, described below.
05 Change requests, GitHub and AI
Each client's website is kept in its own private repository on GitHub. When you ask for a change, the portal turns it into a GitHub issue in that repository: your words, your business details, and links to any photos you attached. The photo links expire.
An AI agent, Anthropic's Claude, running in GitHub Actions, reads the issue and makes the change on a private preview. It downloads the photos you attached into the repository so the site can use them. Nothing goes live until you approve the preview.
06 Payments
Card payments are handled by Stripe, on Stripe's own checkout and billing pages. We never see or store your full card number. Stripe tells us what was paid, when and for what, and we keep that in our records.
If you pay by Venmo instead, Venmo handles the transfer and we record the payment once we've checked it.
07 Email from the portal
The portal sends email through Resend: sign-in and password emails, updates on your requests, payment reminders and monthly reports. You can turn off the monthly report email in the portal.
Resend tells us whether an email was delivered or bounced. For win-back emails (below) it can also tell us whether an email was opened or a link in it was clicked.
08 Our clients' customers
Some portal tools handle details about our clients' own customers:
- Enquiries. A message sent through a client's website form goes into that client's inbox in the portal. If the client replies from the portal, we send the reply through Resend under the business's name, and your answer goes straight to the business.
- Review requests. A client enters a customer's name and email address or phone number to ask for a Google review. We send one request and at most one reminder. Texts go through Twilio, and only when the client confirms the customer agreed to be texted.
- Win-back emails. A client can email past customers, from enquiries they won or a list they upload, with messages the client approves. Each one carries the business's postal address.
Every review request and win-back email has an unsubscribe link, and replying STOP to a text stops them. Unsubscribes go on that business's do-not-send list, which is checked before every send. Win-back emails also stop going to addresses that bounce or report spam.
We handle these details for the client and only to do what the client asks. The client decides who to contact. A client can delete an enquiry, which erases the person's details from the portal; Netlify keeps its own copy of form submissions until it's deleted there.
If you're one of our clients' customers and want your details removed, ask the business, or contact us and we'll delete them from the portal.
09 Google Business Profile
Some clients have us look after their Google Business Profile. The client adds our Google account as a manager of their profile, and the portal connects to Google's Business Profile APIs with that account (the business.manage permission).
What we read:
- which business profiles our account manages, and invitations to manage new ones
- the profile's details: name, address, phone, website, categories, description and hours
- reviews and their replies, including the reviewer's display name, rating and comment
- posts and photo counts
- performance figures: how often the profile was seen in Search and Maps, calls, website clicks and direction requests, and the search terms people used to find it
What we change, only when the client asks or approves:
- hours, holiday hours and the description
- replies to reviews
- posts and photos
- accepting an invitation the client sends us to manage their profile
We use this data only to manage that client's own profile and to show them how it's doing, in their portal and in the reports we send them. Review reply drafts come from a template in the portal, and none is published until a person approves it. We don't sell Google data, use it for advertising, or use it to train AI models. We don't share it with anyone except the client whose profile it is and the providers that run the portal for us: Netlify, Neon, and Resend for the client's report email.
We keep a copy in our database so the portal can show it. When a profile is unlinked from the portal, its reviews, figures and search terms are deleted. Our Google sign-in token is stored encrypted. A client can remove our account as a manager of their profile at any time, and we can disconnect the portal from Google at any time, which revokes its access.
Mortensen Web Co.'s use of information received from Google APIs will adhere to Google API Services User Data Policy, including the Limited Use requirements.
To set up review requests, the portal can also look up a business on Google Places to find its listing and show its current rating. That lookup is about the business, not a person, and only the listing's ID is stored.
10 Used only when switched on
These are built into the portal but stay off unless we switch them on:
- Twilio sends review-request texts, as described above.
- Google Ads and Meta (Facebook and Instagram). If a client runs ads through us, we read the campaign's results, like spend, views and clicks, to report them. We don't upload customer lists to either.
- Square can take card payments in place of Stripe, the same way: on Square's pages, and we never see the card number.
11 Who handles data for us
- Netlify
- hosts this site and the portal, runs the contact forms, and stores portal uploads
- Neon
- the portal's database
- GitHub
- stores client website code and change requests
- Anthropic
- the Claude AI agent that makes requested changes
- Resend
- sends the portal's email
- Stripe
- card payments
- Umami
- visitor counts on this site
- our email (Gmail), this site's fonts, and the Business Profile and Places APIs
Plus the services in section 10, when they're on. We share information with each only so it can do that job. We'll also share information if the law requires it.
12 How long we keep it
- Portal accounts and what's in them: while you're a client. When you leave, we close the account. Ask, and we'll delete it, except billing records we keep for our accounts and taxes.
- Enquiries in a client's inbox: until the client deletes them. Older ones move to an archive; they aren't deleted automatically.
- Photos and files: deleting one moves it to the trash. Emptying the trash deletes the file.
- Google profile data: until the profile is unlinked from the portal.
- Sign-in and action logs: kept to protect accounts.
We don't delete old records on a schedule yet. If you want something gone, ask.
13 Your choices
Contact us to see what we hold about you, to correct it, or to delete it. We may need to check it's you first. Review requests and win-back emails each have an unsubscribe link, and clients can turn off the monthly report.
14 Security
Everything travels over HTTPS. Passwords are hashed, our Google token is encrypted, and client repositories are private. No system is perfect. If we learn of a breach that affects your information, we'll tell you.
15 Children
This site and the portal are for businesses. They aren't meant for children, and we don't knowingly collect information from anyone under 13.
16 Changes to this policy
When we change this policy, we'll update the date at the top. If a change affects how we use clients' data, we'll email clients before it takes effect.
17 Contact
Jack Mortensen
Mortensen Web Co., Riverton, Utah
mortensenwebco@gmail.com
(801) 865-9235