DataMateApps

Save any data as a record

Privacy Policy for DataMateApps and AddressBlock

Last updated: June 10, 2025

Excellence-US, LLC ("we", "us", or "our") operates DataMateApps and AddressBlock, commercial add-ons for Google Workspace. This privacy policy explains how we collect, use, and protect your information when you use our services. By using DataMateApps or AddressBlock, you agree to the terms outlined in this policy. We are committed to safeguarding your privacy and adhering to the Google API Services User Data Policy, including its Limited Use requirements.

Data We Collect and How We Use It

DataMateApps and AddressBlock collect and process data to provide their core functionalities, such as saving records, managing contacts, creating forms, and generating address blocks. We also collect limited data for analytics to monitor usage and improve our services. Below is a detailed breakdown of the data we access and how it’s used:

We do not collect or process data beyond what is necessary for the app’s functionality or analytics. All data accessed via Google APIs is handled securely. Notification emails sent to projectprodigyapp@gmail.com are used solely for usage tracking and are not shared with third parties beyond Excellence-US, LLC.

Permissions We Request

DataMateApps and AddressBlock require specific permissions to function. These permissions allow us to access your Google account data as described below. Each permission is necessary for the app’s core features, and we’ve explained why we need it and why a narrower scope wouldn’t work.

DataMateApps Permissions

https://www.googleapis.com/auth/spreadsheets: Allows DataMateApps to see, edit, create, and delete Google Sheets. We use this to create and manage spreadsheets for records, templates (e.g., inventory, timesheets), contact lists, and usage counters. A narrower scope wouldn’t suffice because dynamic spreadsheet operations are central to the app.

https://www.googleapis.com/auth/drive: (Only used in open-source code for UploadFile and Signature form fields when deployed as web app.) Allows DataMateApps to see, edit, create, and delete files in Google Drive. We use this to store form uploads (e.g., images, PDFs), signatures, and generated files, such as reports or templates. A narrower scope wouldn’t suffice because full Drive access is required for file management.

https://www.googleapis.com/auth/script.container.ui: Allows DataMateApps to display third-party web content in prompts, dialogs, and sidebars within Google Sheets. We use this to show interactive UI elements, such as form previews, contact forms, or sidebars for data entry. A narrower scope wouldn’t suffice because custom UI is required for user interaction.

https://www.googleapis.com/auth/script.send_mail: To send notifications to send emails via Google Apps Script when a form is submitted. A narrower scope wouldn’t suffice because this scope ensures reliable email delivery.

https://www.googleapis.com/auth/gmail.send: This scope is essential for the core functionality of DataMateApps, specifically the "Mail It" feature, which enables users to send emails directly from a Google Spreadsheet. This feature allows users to select a range of spreadsheet data, format it as an HTML table, and send it as an email to recipients listed in a "contacts" sheet (Column P for email addresses, Column A for names). The emails are sent using the GmailApp.sendEmail method in Google Apps Script, which constructs and sends HTML-formatted emails based on user inputs from a sidebar interface.

https://www.googleapis.com/auth/script.external_request: Allows AddressBlock to connect to external services. We use this to fetch address-related data (e.g., via geocoding APIs) to enhance address accuracy. A narrower scope wouldn’t suffice because external data integration is critical for the feature.

Third-Party Integrations

DataMateApps may connect to external services via the script.external_request scope to enhance functionality, such as fetching geocoding data for addresses or integrating with APIs for form processing. These services are carefully selected, and we ensure they comply with data protection standards. No personal data is shared with third parties unless explicitly required for the service, and only with your consent. The notification emails sent to projectprodigyapp@gmail.com are managed by Excellence-US, LLC and are not shared with third parties.

Data Sharing

We do not share your personal data with third parties, except as described below:

  • Usage Tracking: When you create a dataset or save a record, DataMateApps sends a notification email to projectprodigyapp@gmail.com, a service email address managed by Excellence-US, LLC. These emails include your email address, which we extract and store in Google Sheets to track usage (e.g., number of datasets created or records saved). This data is used solely for analytics and service improvement and is not shared with any external parties.
  • Third-Party Integrations: As described above, some features may involve external services, but no personal data is shared without your consent.
  • Legal Obligations: We may share data to comply with legal requirements, such as responding to lawful requests from authorities.

All other data accessed via Google APIs remains within the Google ecosystem or is processed securely by our app.

Data Retention

Data stored in your Google Sheets, Drive, or Gmail accounts remains under your control and is retained according to your Google account settings. Specifically:

  • Usage Data: Your email address and associated usage data (e.g., dataset and record counts) stored in Google Sheets (e.g., "NewContact" and "contacts" sheets) are retained for as long as necessary to support analytics and service improvement, typically until you revoke our app’s access or delete the relevant spreadsheets.
  • Notification Emails: Emails sent to projectprodigyapp@gmail.com are retained by Excellence-US, LLC for usage tracking purposes and deleted periodically when no longer needed for analytics.
  • Comments and Reviews: If you leave comments or reviews on our website, they are retained indefinitely unless you request deletion.

You can delete data in your Google account at any time or request deletion of data we hold (e.g., website comments) by contacting us.

Data Security

We implement industry-standard security measures to protect your data, including secure connections and compliance with Google’s API security requirements. However, no system is completely secure, and we encourage you to use strong passwords and enable two-factor authentication on your Google account.

Your Data Rights

You have full control over your data. You can:

  • Access: View data stored in your Google Sheets, Drive, or Gmail accounts at any time.
  • Export: Request an exported file of personal data we hold, such as comments or reviews left on our website.
  • Delete: Request deletion of personal data, such as website comments, by contacting us. Data in your Google account can be deleted directly by you.
  • Revoke Permissions: Revoke our app’s access to your Google account via your Google Account settings.

To exercise these rights, contact us at the link below. We will respond within 30 days. Note that we may retain certain data for legal or administrative purposes, as required by law.

Comments and Reviews

If you leave comments or reviews on our website (https://datamateapp.github.io), we collect the data provided in the comment form, such as your name and comment content. This data is used to display your comment publicly and is retained indefinitely unless you request deletion.

Contact Us

If you have questions, feedback, or requests regarding your data, please contact us at: Contact Form.

Our website: https://datamateapp.github.io

Who We Are

Excellence-US, LLC is the developer of DataMateApps and AddressBlock, designed to enhance productivity within Google Workspace. We are committed to transparency, user privacy, and delivering reliable tools for data management.

DataMateApps Function Descriptions

The following describes the core functions of DataMateApps, detailing how they interact with your Google Sheets data to provide features like record saving, contact management, and form building.

onInstall()

Triggers when the add-on is installed, calling onOpen() to initialize the custom menu.

onOpen(e)

Creates a custom menu named "DataMate 🌐" in Google Sheets with options for saving records, resetting inputs, managing templates, building forms, handling contacts, and showing tutorials.

doNothing()

Displays an alert prompting the user to select a template option when no specific action is chosen.

showUploadDialog()

Opens a modal dialog to upload a CSV file, using the UploadCSV.html interface for importing contacts.

processCSV(csvContent)

Parses and processes uploaded CSV data, mapping specific columns from an "Import" sheet to a "contacts" sheet based on predefined mappings, then notifies the user of successful import.

edit()

Populates the "Address" sheet with VLOOKUP formulas to retrieve contact details (e.g., company, email, address) from the "contacts" sheet based on a lookup value in cell F1.

newcontact()

Adds a new contact by copying data from the "NewContact" sheet to the "contacts" sheet, inserting a new row, setting a concatenated name formula, sorting contacts, and clearing input fields.

copyInput1()

Copies data, formats, formulas, and column widths from "Sheet1" (A3:Q48) to the "Input" sheet, then activates cell C4 in the "Input" sheet.

copyInput2()

Copies data, formats, formulas, and column widths from "Sheet1" (A3:Q48) to the "View_Print" sheet, then activates cell A1 in the "View_Print" sheet.

newfile()

Creates or verifies the existence of core sheets ("Input", "View_Print", "Log", "Update", "Data"), sets up headers, formulas, formatting, and a help hyperlink, then calls copyInput1(), view(), and sends a notification email.

save()

Saves data from the "Input" sheet (A1:Q48) to the "Data" sheet in specific columns, copies images, updates the "Update" and "Log" sheets with formulas, adds a hyperlink to "View_Print", and sends a notification email.

view()

Refreshes the "View_Print" sheet by calling copyInput2() and setting VLOOKUP formulas to display data from the "Update" and "Data" sheets based on a key in A1.

contacts()

Creates or updates "contacts", "Address", and "NewContact" sheets, sets up headers, formulas, data validation, and formatting for contact management, then activates cell B1 in the "Address" sheet.

EditAddressSheet()

Applies VLOOKUP formulas to the "Address" sheet (F2:F14) to fetch contact details by name from the "contacts" sheet, adds data validation to a specified cell in "Sheet1", and copies formulas below it.

EditAddressSheet1()

Applies INDEX/MATCH formulas to the "Address" sheet (G2:G14) to fetch contact details by company from the "contacts" sheet, adds data validation to a specified cell in "Sheet1", and copies formulas below it.

setup()

Initializes an "Inventory" template by creating or configuring sheets (e.g., "Inventory", "Stock") with predefined headers, formulas, and formatting for tracking inventory items.

updateInventory()

Updates the "Inventory" sheet by copying new or modified stock data from an input range to a master inventory log, recalculating totals, and maintaining stock levels.

setupTS()

Sets up a "Weekly Timesheets" template by creating sheets (e.g., "Timesheet", "Summary") with headers, time-tracking formulas, and data validation for employee hours.

copyToCodeTotals()

Copies cost code data from a timesheet or input sheet to a "Code Totals" sheet, aggregating hours or costs by code for financial tracking.

setupPO()

Configures a "Purchase Order" template by creating sheets (e.g., "PO", "Items") with headers, formulas for totals, and data validation for supplier and item details.

previewForm()

Displays a preview of a form built in the "FormSetup" sheet, rendering fields defined in the FormBuilder (e.g., Text, Dropdown) using an HTML interface for testing.

showFormBuilder()

Opens a sidebar or modal dialog with the FormBuilder.html interface, allowing users to create or edit form fields and save configurations to the "FormSetup" sheet.

showMailItSidebar()

Displays a sidebar using MailIt.html to compose emails, selecting sheets, ranges, and contacts for sending or drafting emails with embedded data.