‹ Back to Sheet Dashboards

What we receive

Your spreadsheet is read in your browser and is never uploaded. To understand your columns, the app sends our analysis service a short profile of each column. This page shows a real example and how to check it yourself.

What leaves your browser

Never sent: cell values, names or other text in your data, exact dates, the file name or the file itself.

A real example

From a sales sheet with 800 rows and 14 columns (11,200 cells). Three of the 14 column profiles are shown; the others look the same. Fields that are zero are left out here to keep it short.

Normal sheetcolumn names sent so we can improve
{
  "schema": 1,
  "sheet": {
    "rows": 800,
    "columns": 14,
    "sampled": false
  },
  "columns": [
    {
      "name": "Order Date",
      "n": 800,
      "rows": 800,
      "fill": 1,
      "distinct": 586,
      "uniq": 0.733,
      "avgLen": 10,
      "maxLen": 10,
      "dateRate": 1
    },
    {
      "name": "Sales",
      "n": 800,
      "rows": 800,
      "fill": 1,
      "distinct": 795,
      "uniq": 0.994,
      "avgLen": 5.6,
      "maxLen": 7,
      "numRate": 1,
      "intRate": 0.009,
      "min": 2.1,
      "max": 9500,
      "sum": 240000,
      "hundredRate": 0.344
    },
    {
      "name": "Profit",
      "n": 800,
      "rows": 800,
      "fill": 1,
      "distinct": 781,
      "uniq": 0.976,
      "avgLen": 5.2,
      "maxLen": 7,
      "numRate": 1,
      "intRate": 0.007,
      "min": -140,
      "max": 230,
      "sum": 25000,
      "negRate": 0.304,
      "unitRate": 0.011,
      "hundredRate": 0.569,
      "absUnitRate": 0.019
    }
  ],
  "locale": "en-GB",
  "share": true,
  "id": "7f3a9c21d04e8b65"
}
Privacy mode, or names codedcolumn names sent as one-way codes
{
  "schema": 1,
  "sheet": {
    "rows": 800,
    "columns": 14,
    "sampled": false
  },
  "columns": [
    {
      "words": [
        "bac1a9fb76c9",
        "a4b69249eccb"
      ],
      "n": 800,
      "rows": 800,
      "fill": 1,
      "distinct": 586,
      "uniq": 0.733,
      "avgLen": 10,
      "maxLen": 10,
      "dateRate": 1
    },
    {
      "words": [
        "24feb083dfa0"
      ],
      "n": 800,
      "rows": 800,
      "fill": 1,
      "distinct": 795,
      "uniq": 0.994,
      "avgLen": 5.6,
      "maxLen": 7,
      "numRate": 1,
      "intRate": 0.009,
      "min": 2.1,
      "max": 9500,
      "sum": 240000,
      "hundredRate": 0.344
    },
    {
      "words": [
        "d9f43e527bce"
      ],
      "n": 800,
      "rows": 800,
      "fill": 1,
      "distinct": 781,
      "uniq": 0.976,
      "avgLen": 5.2,
      "maxLen": 7,
      "numRate": 1,
      "intRate": 0.007,
      "min": -140,
      "max": 230,
      "sum": 25000,
      "negRate": 0.304,
      "unitRate": 0.011,
      "hundredRate": 0.569,
      "absUnitRate": 0.019
    }
  ],
  "locale": "en-GB",
  "share": false,
  "id": "7f3a9c21d04e8b65"
}

That is the whole request: about 1–5 KB, whatever the size of your file. 0 cell values.

Check it yourself

  1. Open Sheet Dashboards in Chrome or Edge and press F12 (on a Mac, ⌥ ⌘ I) to open the developer tools.
  2. Choose the Network tab.
  3. Open your spreadsheet. Before anything is sent, the app shows you what it will send; choose Continue.
  4. Click the request named analyse and choose Payload. You’ll see the profile above for your own sheet, and nothing else. The file itself never appears in the list.

What we keep

For sheets outside privacy mode, where column names are not coded, we keep column names, how each column was understood and the corrections you make, for up to 12 months, to improve accuracy for everyone. Headers that look like a person’s name, an email address or a number are left out. In privacy mode, or when you code column names, only anonymous counts are kept: the number of rows and columns, the use case found, and codes our service didn’t recognise (which are unreadable). Never column names or data. Offline mode sends nothing at all, with a simpler analysis. See the privacy notice for details.