{
 "name": "Plumbing software data terms",
 "title": "Plumbing software data terms",
 "kind": "terms-board",
 "url": "https://sellplumbingdatatoai.com/datasets/plumbing-software-data-terms/",
 "csv": "https://sellplumbingdatatoai.com/datasets/plumbing-software-data-terms.csv",
 "markdown": "https://sellplumbingdatatoai.com/datasets/plumbing-software-data-terms/index.md",
 "computed_at": "2026-10-31",
 "license": "https://sellplumbingdatatoai.com/terms",
 "headline": "4 of 6 plumbing software vendors whose terms we read reserve the right to use their customers' data in aggregated or anonymised form, read 31 October 2026.",
 "quotes": [
  "4 of 6 plumbing software vendors whose terms we read reserve the right to use their customers' data in aggregated or anonymised form, read 31 October 2026.",
  "Who owns the business's data, by vendor: the business 4 of 6, not stated 2 of 6 (plumbing software terms, read 31 October 2026).",
  "Vendor keeps aggregated or anonymised use, by vendor: reserved 4 of 6, not stated 2 of 6 (plumbing software terms, read 31 October 2026).",
  "Training AI on the business's data, by vendor: not stated 5 of 6, may train 1 of 6 (plumbing software terms, read 31 October 2026).",
  "Export at exit, by vendor: not stated 4 of 6, on request 2 of 6 (plumbing software terms, read 31 October 2026)."
 ],
 "citation": "\"Plumbing software data terms\", updated 2026-10-31, https://sellplumbingdatatoai.com/datasets/plumbing-software-data-terms/.",
 "national": {
  "n": 6,
  "unit": "vendors",
  "documents": 7,
  "published_sources": 6,
  "named_sources": 12
 },
 "board": {
  "type": "terms",
  "noun": {
   "one": "vendor",
   "many": "vendors"
  },
  "document": {
   "one": "document",
   "many": "documents"
  },
  "fields": [
   {
    "id": "ownership",
    "label": "Who owns the business's data",
    "counts": {
     "customer": 4,
     "not-stated": 2
    },
    "values": [
     {
      "value": "customer",
      "text": "the business"
     },
     {
      "value": "vendor",
      "text": "the vendor"
     }
    ]
   },
   {
    "id": "aggregated_use",
    "label": "Vendor keeps aggregated or anonymised use",
    "counts": {
     "reserved": 4,
     "not-stated": 2
    },
    "values": [
     {
      "value": "reserved",
      "text": "reserved"
     },
     {
      "value": "excluded",
      "text": "excluded"
     }
    ]
   },
   {
    "id": "ai_training",
    "label": "Training AI on the business's data",
    "counts": {
     "may-train": 1,
     "not-stated": 5
    },
    "values": [
     {
      "value": "may-train",
      "text": "may train"
     },
     {
      "value": "will-not-train",
      "text": "will not train"
     },
     {
      "value": "opt-out",
      "text": "opt-out offered"
     }
    ]
   },
   {
    "id": "export_at_exit",
    "label": "Export at exit",
    "counts": {
     "not-stated": 4,
     "on-request": 2
    },
    "values": [
     {
      "value": "on-request",
      "text": "on request"
     },
     {
      "value": "none",
      "text": "no export promised"
     },
     {
      "value": "days",
      "text": "a number of days"
     }
    ]
   }
  ],
  "lead": {
   "type": "share",
   "field": "aggregated_use",
   "value": "reserved",
   "n": 4,
   "of": 6,
   "label": "Vendors whose terms reserve aggregated or anonymised use"
  },
  "vendors": [
   {
    "name": "Arrivy",
    "answers": {
     "ownership": {
      "value": "customer",
      "text": "the business",
      "documents": [
       {
        "document": "Arrivy Terms of Service Agreement",
        "url": "https://www.arrivy.com/terms",
        "value": "customer",
        "quote": "As between you and Arrivy, you retain all right, title, and interest in and to your Member Content, including any personal data it contains, and Arrivy claims no ownership of it."
       }
      ]
     },
     "aggregated_use": {
      "value": "reserved",
      "text": "reserved",
      "documents": [
       {
        "document": "Arrivy Terms of Service Agreement",
        "url": "https://www.arrivy.com/terms",
        "value": "reserved",
        "quote": "Where Arrivy uses Member Content beyond your account to develop or improve AI Features or the Services, it first anonymizes or de-identifies the data so that it is not tied to you, your account, or any identifiable individual."
       }
      ]
     },
     "ai_training": {
      "value": "may-train",
      "text": "may train",
      "documents": [
       {
        "document": "Arrivy Terms of Service Agreement",
        "url": "https://www.arrivy.com/terms",
        "value": "may-train",
        "quote": "in most cases, any model training is localized to your account and performed solely on your own data for your benefit."
       }
      ]
     },
     "export_at_exit": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "Arrivy Terms of Service Agreement",
        "url": "https://www.arrivy.com/terms",
        "value": "not-stated",
        "quote": ""
       }
      ]
     }
    }
   },
   {
    "name": "mHelpDesk",
    "answers": {
     "ownership": {
      "value": "customer",
      "text": "the business",
      "documents": [
       {
        "document": "mHelpDesk User Agreement",
        "url": "https://www.mhelpdesk.com/user-agreement/",
        "value": "customer",
        "quote": "Your personal information, as well as any User Content you make available for inclusion via the Service, belongs to you."
       },
       {
        "document": "mHelpDesk Privacy Policy",
        "url": "https://www.mhelpdesk.com/privacy/",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "aggregated_use": {
      "value": "reserved",
      "text": "reserved",
      "documents": [
       {
        "document": "mHelpDesk User Agreement",
        "url": "https://www.mhelpdesk.com/user-agreement/",
        "value": "not-stated",
        "quote": ""
       },
       {
        "document": "mHelpDesk Privacy Policy",
        "url": "https://www.mhelpdesk.com/privacy/",
        "value": "reserved",
        "quote": "We may also track and analyze non-identifying and aggregate usage and volume statistical information from our visitors and customers and provide such information to third parties."
       }
      ]
     },
     "ai_training": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "mHelpDesk User Agreement",
        "url": "https://www.mhelpdesk.com/user-agreement/",
        "value": "not-stated",
        "quote": ""
       },
       {
        "document": "mHelpDesk Privacy Policy",
        "url": "https://www.mhelpdesk.com/privacy/",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "export_at_exit": {
      "value": "on-request",
      "text": "on request",
      "documents": [
       {
        "document": "mHelpDesk User Agreement",
        "url": "https://www.mhelpdesk.com/user-agreement/",
        "value": "on-request",
        "quote": "You may choose to request that mHelpDesk assist you with certain data management tasks, for example importing your business data, exporting your data from mHelpDesk to other systems, or bulk-deleting your data"
       },
       {
        "document": "mHelpDesk Privacy Policy",
        "url": "https://www.mhelpdesk.com/privacy/",
        "value": "not-stated",
        "quote": ""
       }
      ]
     }
    }
   },
   {
    "name": "Profit Rhino",
    "answers": {
     "ownership": {
      "value": "customer",
      "text": "the business",
      "documents": [
       {
        "document": "Profit Rhino Terms of Service",
        "url": "https://www.profitrhino.com/terms-of-service",
        "value": "customer",
        "quote": "all title and intellectual property rights in and to all electronic data or information submitted to and stored in the Service that is owned by Customer (“Customer Content”) is owned by Customer."
       }
      ]
     },
     "aggregated_use": {
      "value": "reserved",
      "text": "reserved",
      "documents": [
       {
        "document": "Profit Rhino Terms of Service",
        "url": "https://www.profitrhino.com/terms-of-service",
        "value": "reserved",
        "quote": "collect metrics and data included in the Customer Content, and (c) aggregate and analyze any metrics and data collected pursuant to subsections (a) and/or (b)"
       }
      ]
     },
     "ai_training": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "Profit Rhino Terms of Service",
        "url": "https://www.profitrhino.com/terms-of-service",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "export_at_exit": {
      "value": "on-request",
      "text": "on request",
      "documents": [
       {
        "document": "Profit Rhino Terms of Service",
        "url": "https://www.profitrhino.com/terms-of-service",
        "value": "on-request",
        "quote": "If Customer requests Company to provide professional services for the export of any Customer Content, Company will provide to Customer the applicable Customer Content export file via Company’s designated secure delivery method, as feasible."
       }
      ]
     }
    }
   },
   {
    "name": "ServiceCore",
    "answers": {
     "ownership": {
      "value": "customer",
      "text": "the business",
      "documents": [
       {
        "document": "ServiceCore Terms of Use",
        "url": "https://www.servicecore.com/terms-of-service",
        "value": "customer",
        "quote": "ServiceCore does not claim ownership of your Content you Make Available."
       }
      ]
     },
     "aggregated_use": {
      "value": "reserved",
      "text": "reserved",
      "documents": [
       {
        "document": "ServiceCore Terms of Use",
        "url": "https://www.servicecore.com/terms-of-service",
        "value": "reserved",
        "quote": "As between the parties, ServiceCore owns all right, title, and interest in and to all Deidentified Data, and Company hereby irrevocably assigns to ServiceCore all of Company’s right, title, and interest in and to the Deidentified Data."
       }
      ]
     },
     "ai_training": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "ServiceCore Terms of Use",
        "url": "https://www.servicecore.com/terms-of-service",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "export_at_exit": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "ServiceCore Terms of Use",
        "url": "https://www.servicecore.com/terms-of-service",
        "value": "not-stated",
        "quote": ""
       }
      ]
     }
    }
   },
   {
    "name": "SwiftComply",
    "answers": {
     "ownership": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "SwiftComply Privacy Policy",
        "url": "https://www.swiftcomply.com/privacy-policy/",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "aggregated_use": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "SwiftComply Privacy Policy",
        "url": "https://www.swiftcomply.com/privacy-policy/",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "ai_training": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "SwiftComply Privacy Policy",
        "url": "https://www.swiftcomply.com/privacy-policy/",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "export_at_exit": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "SwiftComply Privacy Policy",
        "url": "https://www.swiftcomply.com/privacy-policy/",
        "value": "not-stated",
        "quote": ""
       }
      ]
     }
    }
   },
   {
    "name": "Watts (Syncta)",
    "answers": {
     "ownership": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "Watts Terms of Use",
        "url": "https://www.watts.com/terms-of-use",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "aggregated_use": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "Watts Terms of Use",
        "url": "https://www.watts.com/terms-of-use",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "ai_training": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "Watts Terms of Use",
        "url": "https://www.watts.com/terms-of-use",
        "value": "not-stated",
        "quote": ""
       }
      ]
     },
     "export_at_exit": {
      "value": "not-stated",
      "text": "not stated",
      "documents": [
       {
        "document": "Watts Terms of Use",
        "url": "https://www.watts.com/terms-of-use",
        "value": "not-stated",
        "quote": ""
       }
      ]
     }
    }
   }
  ]
 },
 "subject_kind": "vendor",
 "rows": [
  {
   "subject": "Arrivy",
   "url": "https://www.arrivy.com/terms",
   "document": "Arrivy Terms of Service Agreement",
   "question": "ownership",
   "answer": "customer",
   "answer_text": "the business",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "As between you and Arrivy, you retain all right, title, and interest in and to your Member Content, including any personal data it contains, and Arrivy claims no ownership of it.",
   "text_sha256": "10091e13d7ed6ffb972cc2abfeab609282389d24bdcde178eebea8c1294b4f09"
  },
  {
   "subject": "Arrivy",
   "url": "https://www.arrivy.com/terms",
   "document": "Arrivy Terms of Service Agreement",
   "question": "aggregated_use",
   "answer": "reserved",
   "answer_text": "reserved",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "Where Arrivy uses Member Content beyond your account to develop or improve AI Features or the Services, it first anonymizes or de-identifies the data so that it is not tied to you, your account, or any identifiable individual.",
   "text_sha256": "10091e13d7ed6ffb972cc2abfeab609282389d24bdcde178eebea8c1294b4f09"
  },
  {
   "subject": "Arrivy",
   "url": "https://www.arrivy.com/terms",
   "document": "Arrivy Terms of Service Agreement",
   "question": "ai_training",
   "answer": "may-train",
   "answer_text": "may train",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "in most cases, any model training is localized to your account and performed solely on your own data for your benefit.",
   "text_sha256": "10091e13d7ed6ffb972cc2abfeab609282389d24bdcde178eebea8c1294b4f09"
  },
  {
   "subject": "Arrivy",
   "url": "https://www.arrivy.com/terms",
   "document": "Arrivy Terms of Service Agreement",
   "question": "export_at_exit",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (48,125 characters) is silent on this.",
   "text_sha256": "10091e13d7ed6ffb972cc2abfeab609282389d24bdcde178eebea8c1294b4f09"
  },
  {
   "subject": "mHelpDesk",
   "url": "https://www.mhelpdesk.com/privacy/",
   "document": "mHelpDesk Privacy Policy",
   "question": "ownership",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (11,649 characters) is silent on this.",
   "text_sha256": "b30b8574cb9237cf41927f67c4c95f2be063bff27eb4caf81eb3e195c8c74469"
  },
  {
   "subject": "mHelpDesk",
   "url": "https://www.mhelpdesk.com/privacy/",
   "document": "mHelpDesk Privacy Policy",
   "question": "aggregated_use",
   "answer": "reserved",
   "answer_text": "reserved",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "We may also track and analyze non-identifying and aggregate usage and volume statistical information from our visitors and customers and provide such information to third parties.",
   "text_sha256": "b30b8574cb9237cf41927f67c4c95f2be063bff27eb4caf81eb3e195c8c74469"
  },
  {
   "subject": "mHelpDesk",
   "url": "https://www.mhelpdesk.com/privacy/",
   "document": "mHelpDesk Privacy Policy",
   "question": "ai_training",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (11,649 characters) is silent on this.",
   "text_sha256": "b30b8574cb9237cf41927f67c4c95f2be063bff27eb4caf81eb3e195c8c74469"
  },
  {
   "subject": "mHelpDesk",
   "url": "https://www.mhelpdesk.com/privacy/",
   "document": "mHelpDesk Privacy Policy",
   "question": "export_at_exit",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (11,649 characters) is silent on this.",
   "text_sha256": "b30b8574cb9237cf41927f67c4c95f2be063bff27eb4caf81eb3e195c8c74469"
  },
  {
   "subject": "mHelpDesk",
   "url": "https://www.mhelpdesk.com/user-agreement/",
   "document": "mHelpDesk User Agreement",
   "question": "ownership",
   "answer": "customer",
   "answer_text": "the business",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "Your personal information, as well as any User Content you make available for inclusion via the Service, belongs to you.",
   "text_sha256": "5a1a06c6159ad49ecb7a4d0a3d0ed2ee1fcf9fc98e962f89325e1fbb6c68d7b9"
  },
  {
   "subject": "mHelpDesk",
   "url": "https://www.mhelpdesk.com/user-agreement/",
   "document": "mHelpDesk User Agreement",
   "question": "aggregated_use",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (38,732 characters) is silent on this.",
   "text_sha256": "5a1a06c6159ad49ecb7a4d0a3d0ed2ee1fcf9fc98e962f89325e1fbb6c68d7b9"
  },
  {
   "subject": "mHelpDesk",
   "url": "https://www.mhelpdesk.com/user-agreement/",
   "document": "mHelpDesk User Agreement",
   "question": "ai_training",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (38,732 characters) is silent on this.",
   "text_sha256": "5a1a06c6159ad49ecb7a4d0a3d0ed2ee1fcf9fc98e962f89325e1fbb6c68d7b9"
  },
  {
   "subject": "mHelpDesk",
   "url": "https://www.mhelpdesk.com/user-agreement/",
   "document": "mHelpDesk User Agreement",
   "question": "export_at_exit",
   "answer": "on-request",
   "answer_text": "on request",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "You may choose to request that mHelpDesk assist you with certain data management tasks, for example importing your business data, exporting your data from mHelpDesk to other systems, or bulk-deleting your data",
   "text_sha256": "5a1a06c6159ad49ecb7a4d0a3d0ed2ee1fcf9fc98e962f89325e1fbb6c68d7b9"
  },
  {
   "subject": "Profit Rhino",
   "url": "https://www.profitrhino.com/terms-of-service",
   "document": "Profit Rhino Terms of Service",
   "question": "ownership",
   "answer": "customer",
   "answer_text": "the business",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "all title and intellectual property rights in and to all electronic data or information submitted to and stored in the Service that is owned by Customer (“Customer Content”) is owned by Customer.",
   "text_sha256": "93293e3b2a73bed5cb1a955b0fbe050e01fcd28dda586c459c34327fbb979081"
  },
  {
   "subject": "Profit Rhino",
   "url": "https://www.profitrhino.com/terms-of-service",
   "document": "Profit Rhino Terms of Service",
   "question": "aggregated_use",
   "answer": "reserved",
   "answer_text": "reserved",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "collect metrics and data included in the Customer Content, and (c) aggregate and analyze any metrics and data collected pursuant to subsections (a) and/or (b)",
   "text_sha256": "93293e3b2a73bed5cb1a955b0fbe050e01fcd28dda586c459c34327fbb979081"
  },
  {
   "subject": "Profit Rhino",
   "url": "https://www.profitrhino.com/terms-of-service",
   "document": "Profit Rhino Terms of Service",
   "question": "ai_training",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (30,717 characters) is silent on this.",
   "text_sha256": "93293e3b2a73bed5cb1a955b0fbe050e01fcd28dda586c459c34327fbb979081"
  },
  {
   "subject": "Profit Rhino",
   "url": "https://www.profitrhino.com/terms-of-service",
   "document": "Profit Rhino Terms of Service",
   "question": "export_at_exit",
   "answer": "on-request",
   "answer_text": "on request",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "If Customer requests Company to provide professional services for the export of any Customer Content, Company will provide to Customer the applicable Customer Content export file via Company’s designated secure delivery method, as feasible.",
   "text_sha256": "93293e3b2a73bed5cb1a955b0fbe050e01fcd28dda586c459c34327fbb979081"
  },
  {
   "subject": "ServiceCore",
   "url": "https://www.servicecore.com/terms-of-service",
   "document": "ServiceCore Terms of Use",
   "question": "ownership",
   "answer": "customer",
   "answer_text": "the business",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "ServiceCore does not claim ownership of your Content you Make Available.",
   "text_sha256": "5bba04f2a73d0e3fe570e15b0d0824e1ced02884fbda483bfdb80d5271bafda9"
  },
  {
   "subject": "ServiceCore",
   "url": "https://www.servicecore.com/terms-of-service",
   "document": "ServiceCore Terms of Use",
   "question": "aggregated_use",
   "answer": "reserved",
   "answer_text": "reserved",
   "status": "stated",
   "retrieved_at": "2026-10-31",
   "quote": "As between the parties, ServiceCore owns all right, title, and interest in and to all Deidentified Data, and Company hereby irrevocably assigns to ServiceCore all of Company’s right, title, and interest in and to the Deidentified Data.",
   "text_sha256": "5bba04f2a73d0e3fe570e15b0d0824e1ced02884fbda483bfdb80d5271bafda9"
  },
  {
   "subject": "ServiceCore",
   "url": "https://www.servicecore.com/terms-of-service",
   "document": "ServiceCore Terms of Use",
   "question": "ai_training",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (59,171 characters) is silent on this.",
   "text_sha256": "5bba04f2a73d0e3fe570e15b0d0824e1ced02884fbda483bfdb80d5271bafda9"
  },
  {
   "subject": "ServiceCore",
   "url": "https://www.servicecore.com/terms-of-service",
   "document": "ServiceCore Terms of Use",
   "question": "export_at_exit",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (59,171 characters) is silent on this.",
   "text_sha256": "5bba04f2a73d0e3fe570e15b0d0824e1ced02884fbda483bfdb80d5271bafda9"
  },
  {
   "subject": "SwiftComply",
   "url": "https://www.swiftcomply.com/privacy-policy/",
   "document": "SwiftComply Privacy Policy",
   "question": "ownership",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (36,285 characters) is silent on this.",
   "text_sha256": "7db8045d175c7b35cd665e14c093d2de11feb2156cff2ba3e7db7adc159460f6"
  },
  {
   "subject": "SwiftComply",
   "url": "https://www.swiftcomply.com/privacy-policy/",
   "document": "SwiftComply Privacy Policy",
   "question": "aggregated_use",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (36,285 characters) is silent on this.",
   "text_sha256": "7db8045d175c7b35cd665e14c093d2de11feb2156cff2ba3e7db7adc159460f6"
  },
  {
   "subject": "SwiftComply",
   "url": "https://www.swiftcomply.com/privacy-policy/",
   "document": "SwiftComply Privacy Policy",
   "question": "ai_training",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (36,285 characters) is silent on this.",
   "text_sha256": "7db8045d175c7b35cd665e14c093d2de11feb2156cff2ba3e7db7adc159460f6"
  },
  {
   "subject": "SwiftComply",
   "url": "https://www.swiftcomply.com/privacy-policy/",
   "document": "SwiftComply Privacy Policy",
   "question": "export_at_exit",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (36,285 characters) is silent on this.",
   "text_sha256": "7db8045d175c7b35cd665e14c093d2de11feb2156cff2ba3e7db7adc159460f6"
  },
  {
   "subject": "Watts (Syncta)",
   "url": "https://www.watts.com/terms-of-use",
   "document": "Watts Terms of Use",
   "question": "ownership",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (52,548 characters) is silent on this.",
   "text_sha256": "8d6e03b5dafdf9ee1076a83a03b27a4ea7fa28fa419048ce20e2f542b50f1b78"
  },
  {
   "subject": "Watts (Syncta)",
   "url": "https://www.watts.com/terms-of-use",
   "document": "Watts Terms of Use",
   "question": "aggregated_use",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (52,548 characters) is silent on this.",
   "text_sha256": "8d6e03b5dafdf9ee1076a83a03b27a4ea7fa28fa419048ce20e2f542b50f1b78"
  },
  {
   "subject": "Watts (Syncta)",
   "url": "https://www.watts.com/terms-of-use",
   "document": "Watts Terms of Use",
   "question": "ai_training",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (52,548 characters) is silent on this.",
   "text_sha256": "8d6e03b5dafdf9ee1076a83a03b27a4ea7fa28fa419048ce20e2f542b50f1b78"
  },
  {
   "subject": "Watts (Syncta)",
   "url": "https://www.watts.com/terms-of-use",
   "document": "Watts Terms of Use",
   "question": "export_at_exit",
   "answer": "not-stated",
   "answer_text": "not stated",
   "status": "not-stated",
   "retrieved_at": "2026-10-31",
   "quote": "Not addressed: the document read on 2026-10-31 (52,548 characters) is silent on this.",
   "text_sha256": "8d6e03b5dafdf9ee1076a83a03b27a4ea7fa28fa419048ce20e2f542b50f1b78"
  }
 ],
 "sources": [
  {
   "url": "https://www.mhelpdesk.com/user-agreement/",
   "label": "mHelpDesk User Agreement",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "read"
  },
  {
   "url": "https://www.mhelpdesk.com/privacy/",
   "label": "mHelpDesk Privacy Policy",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "read"
  },
  {
   "url": "https://www.swiftcomply.com/terms-and-conditions/",
   "label": "SwiftComply Terms and Conditions",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "not-terms",
   "why": "an index page linking to SwiftComply's Service Agreement, security documents and website terms; it states no terms itself"
  },
  {
   "url": "https://www.swiftcomply.com/privacy-policy/",
   "label": "SwiftComply Privacy Policy",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "read"
  },
  {
   "url": "https://help.syncta.com/en/articles/70110-creating-your-syncta-account",
   "label": "Syncta Help Center: Creating Your Syncta Account",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "not-terms",
   "why": "a help article on creating a Syncta account; the terms it refers to are behind the sign-up"
  },
  {
   "url": "https://www.watts.com/terms-of-use",
   "label": "Watts Terms of Use",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "read"
  },
  {
   "url": "https://www.arrivy.com/terms",
   "label": "Arrivy Terms of Service Agreement",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "read"
  },
  {
   "url": "https://www.envirosight.com/terms",
   "label": "Envirosight Terms and Conditions",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "not-terms",
   "why": "the stored read is Envirosight's cookie banner and site footer; no terms text was captured"
  },
  {
   "url": "https://www.profitrhino.com/terms-of-service",
   "label": "Profit Rhino Terms of Service",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "read"
  },
  {
   "url": "https://www.phyn.com/terms-of-service",
   "label": "Phyn Terms of Service",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "not-terms",
   "why": "homeowner terms for Phyn leak detection devices; no clause on a plumbing firm's records"
  },
  {
   "url": "https://www.servicecore.com/terms-of-service",
   "label": "ServiceCore Terms of Use",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "read"
  },
  {
   "url": "https://bsionlinetracking.com/default/terms",
   "label": "BSI Online Backflow Tracking Terms",
   "license": "cited for reporting; the vendor's own published terms",
   "class": "primary-provider-own-site",
   "status": "not-terms",
   "why": "BSI Online's home and login page; the read carries no terms text"
  }
 ],
 "methodology": "Each vendor's own published terms were read through estate-fetch and stored whole (sha256 on every row). For every document, four questions were answered from the vendor's own words: who owns the business's data, vendor keeps aggregated or anonymised use, training AI on the business's data, export at exit. Every stated answer carries the sentence it rests on, checked against the stored text; 'not stated' means the document read does not address the question. A vendor with several documents reads 'varies' where they disagree. 6 vendors, 7 documents.",
 "embed": "<figure style=\"margin:0;padding:16px;border:1px solid #d0d0d0;background:#ffffff\"><blockquote style=\"margin:0 0 8px;background:#ffffff\">4 of 6 plumbing software vendors whose terms we read reserve the right to use their customers' data in aggregated or anonymised form, read 31 October 2026.</blockquote><figcaption style=\"background:#ffffff\"><a href=\"https://sellplumbingdatatoai.com/datasets/plumbing-software-data-terms/\" style=\"background:#ffffff\">Plumbing software data terms, sellplumbingdatatoai.com</a></figcaption></figure>"
}
