HourLane — Privacy Policy
The short version: HourLane runs inside your own Google account. It reads the events of the calendars you tick, only to write them into the spreadsheet you use it in, and it never changes your calendar. Nothing from your calendar is sent to BiLingoPlus or anyone else. The one outside service it talks to is Paddle, our payment provider, and only to check a Pro subscription. No ads, no selling of data, no AI processing of your data.
This policy is about the HourLane add-on for Google Sheets™, which builds timesheets from Google Calendar™. The web pages describing it, on bilingoplus.com, are measured with Google Analytics like the rest of the site: see the website privacy policy. Nothing from the add-on, your calendars or your spreadsheets is sent to Google Analytics.
Where HourLane runs
HourLane is a Google Apps Script add-on. Its code runs on Google’s servers under your Google account, the same way a script you wrote yourself would. It reads your calendars through Google’s Calendar API and writes into your spreadsheet through Google’s own services. BiLingoPlus runs no server that your calendar data passes through, and we never receive a copy of it.
What it reads
- The list of your calendars (
calendar.calendarlist.readonly): their names, colours and time zones, so you can tick which ones to read and so times are shown in your main calendar’s time zone. - Events in the calendars you tick, for the period you choose (
calendar.events.readonly): each event’s title, start and end, whether it is cancelled, its guests and their responses, its location, its colour and its link. The description is read only to apply the optional Only events containing filter, and is not written anywhere. Both calendar permissions are read-only: HourLane cannot create, change or delete an event. - Only the spreadsheet you use it in (
spreadsheets.currentonly): the Timesheet tab, to keep your edits when it refreshes, and the Rates tab, for your hourly rates and statement addresses. It cannot open, list or read your other spreadsheets or any other Drive file. - Your Google account email address (
userinfo.email), to match a Pro subscription to your account and to know where to send your statements.
HourLane does not read your mailbox. Its email permission (script.send_mail) lets it send statement emails as you; it cannot open, list or search the emails in your Gmail™.
What it writes and sends
- Into your spreadsheet only. Event data goes into the Timesheet tab of the spreadsheet you use HourLane in, one row per event, and is added up in the Summary tab. With Pro, HourLane also writes the Rates tab and the statement tabs you ask for. Nothing from your calendar goes anywhere else.
- Statement emails (Pro). When you press Email it to me, or with the monthly statements switched on, HourLane emails a statement, with its lines and a CSV file, from your own Google account to you. If you tick Also email each client, the same statement goes from your own account to the address you typed for that client in the Rates tab, with replies going to you. Statements go to no one else.
Every email goes out through Google’s mail service under your account and counts toward Google’s daily limit for your account.
What it stores
- The setup, inside the spreadsheet. The IDs of the ticked calendars, the period, which events count, the rounding, the client rules and default client, the automatic options and which account runs them, your main calendar’s time zone, the last month statements were sent for, and figures from the last refresh (when, the period, how many entries, hours and clients, and how many events were skipped). It is saved as hidden developer metadata of that spreadsheet, visible only to HourLane. It stays with the spreadsheet: everyone who opens HourLane in it sees the same setup, and it is deleted with the spreadsheet.
- The tabs it writes (Timesheet, Summary, Rates and statements) are ordinary tabs of your spreadsheet, under your control like any other.
- Small per-user settings, in your own Google account (Apps Script user properties): whether Pro is active and when that was last checked; the email used to verify Pro (your Google account email, or the checkout email you typed); when you last opened checkout, so Pro can switch on by itself after payment; which spreadsheets have automatic refresh from your account; counters for when to ask for a review; and the date and number of today’s Pro activation attempts.
- A Pro seat record. So that one subscription cannot be activated on many Google accounts, HourLane keeps a pairing of the checkout email with the Google account that activated it. It holds only SHA-256 hashes of the two addresses, never the addresses themselves.
- A daily trigger (Pro) in the account that switched automatic refresh on (
script.scriptapp). It runs HourLane once a day for that spreadsheet, while you are away.
HourLane keeps no copy of your events anywhere except in your own spreadsheet.
Third parties
The only call HourLane makes outside Google is to Paddle, our payment provider and Merchant of Record, to check whether the email used for Pro has an active HourLane subscription. It sends that email address, and nothing from your calendars or spreadsheets. The check runs when you press Activate Pro, while the panel is open in the days after you opened checkout, and then about every three days while Pro is active. Checkout itself happens on Paddle’s pages; HourLane never sees your card details. Paddle’s privacy policy applies to the checkout.
We do not sell, rent or share your data, we show no ads, and we do not use your data for AI, machine learning or any other processing beyond the timesheet and statements you asked for.
Permissions
spreadsheets.currentonly: see and manage only the spreadsheet you use HourLane in, to write the Timesheet, Summary, Rates and statement tabs. It cannot see your other spreadsheets.calendar.calendarlist.readonly: the list of your calendars, so you can tick which ones to read.calendar.events.readonly: read the events of the ticked calendars for the chosen period. Read-only.script.container.ui: show the HourLane panel and menu.script.scriptapp: the morning refresh and monthly statements (Pro) while you are away.script.send_mail: send statement emails as you (Pro). It cannot read your mailbox.script.external_request: connect to the Google Calendar API and check a Pro licence with Paddle.userinfo.email: your email address, to match a licence and to know where to send your statements.
Google API Services User Data Policy
HourLane’s use and transfer of information received from Google APIs to any other app will adhere to Google API Services User Data Policy, including the Limited Use requirements. Its use of data from Google Workspace APIs also follows the Google Workspace API User Data and Developer Policy.
- Google user data, including your calendar events, is used only to build the timesheet, summary and statements you set up in the panel.
- It is not transferred to anyone, except in the statement emails to the recipients you chose and to Paddle as described above, and not used for advertising.
- It is not used to create, train or improve any AI or machine-learning model.
- No one at BiLingoPlus reads your calendars or timesheets, unless you ask us to and agree to it for a support request, or where it is needed for security or to comply with the law.
Technical logs
Google Apps Script keeps technical logs for us in Google Cloud Logging, so that we can see when HourLane breaks. A refresh writes one line with how it ran (by hand or automatic), the number of entries and whether Pro was active. Statement emails write the month and how many were sent. Errors are logged with their error message. These lines do not contain your event titles or other calendar details, and we use them only to fix problems.
Security
All requests HourLane makes, to Google and to Paddle, use HTTPS. Your settings are stored in Google’s own storage for the spreadsheet and for your account, protected by your Google account’s security. Payment data is handled by Paddle and never reaches HourLane or BiLingoPlus.
Deleting your data
- Erase my data, at the bottom of the HourLane panel, deletes the settings HourLane keeps for your account (including the Pro status and checkout email) and stops automatic refresh from your account. Today’s count of activation attempts stays until the next day, so activation cannot be retried without limit. Your spreadsheets and your calendar are not touched.
- Disconnect this spreadsheet stops automatic refresh and removes HourLane’s setup from the spreadsheet. The Timesheet tab and your calendar are not touched.
- The Timesheet, Summary, Rates and statement tabs are part of your spreadsheet: delete them, or the spreadsheet, like any other tab or file.
- Uninstall HourLane from your apps in Google Workspace™ Marketplace (in a spreadsheet: Extensions → Add-ons → Manage add-ons) and remove its access at myaccount.google.com/connections to cut it off from your account.
- To remove the Pro seat record, or for anything else, write to info@bilingoplus.com.
Changes
If HourLane changes how it handles data, this policy will be updated before that version is published, and the date above will change.
Contact
HourLane is operated by, and the data controller is, BiLingoPlus LLC, a Wyoming limited liability company, 30 N Gould St Ste R, Sheridan, WY 82801, USA · info@bilingoplus.com
Google Calendar™, Google Sheets™, Gmail™ and Google Workspace™ are trademarks of Google LLC. HourLane is an independent product and is not endorsed by or affiliated with Google.