{
  "generated_from": "https://saas-ranking.com/construction-management/o3-solutions",
  "disclaimer": "Every result describes what we found at the addresses we checked on the date given. It is not a statement about what the vendor does or does not have. The score is a public transparency score, not a product or security rating.",
  "snapshot": "r122.107528",
  "snapshot_run": 122,
  "score_version": "v1",
  "vendor": {
    "name": "O3 Solutions",
    "domain": "o3.solutions"
  },
  "category": {
    "slug": "construction-management",
    "name": "Construction management"
  },
  "score": 26,
  "band": "E",
  "measured": 12,
  "of": 12,
  "criteria": [
    {
      "key": "dpa",
      "name": "Data processing agreement",
      "weight": 3,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://o3.solutions/legal/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/data-processing-agreement",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/data-processing-agreement",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/data-processing-addendum",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/gdpr",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/trust/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/privacy/dpa",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.567Z"
    },
    {
      "key": "subprozessoren",
      "name": "Subprocessor list",
      "weight": 3,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://o3.solutions/legal/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/sub-processors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/sub-processors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/trust/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/privacy/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/subprocessor-list",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.567Z"
    },
    {
      "key": "datenregion",
      "name": "Data location stated",
      "weight": 3,
      "result": "found",
      "source_url": "https://o3.solutions/privacy-policy/",
      "addresses_checked": [
        {
          "url": "https://o3.solutions/security",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/trust",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/privacy",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/privacy",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/privacy-policy",
          "result": "found"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.567Z"
    },
    {
      "key": "statusseite",
      "name": "Status page with history",
      "weight": 2,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://status.o3.solutions/",
          "result": "The name \"status.o3.solutions\" could not be resolved."
        },
        {
          "url": "https://o3.solutions/status",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions.statuspage.io/",
          "result": "Could not be fetched: fetch failed."
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.567Z"
    },
    {
      "key": "preise",
      "name": "Public pricing",
      "weight": 2,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://o3.solutions/pricing",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/pricing/",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/plans",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/en/pricing",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/pricing-plans",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.567Z"
    },
    {
      "key": "zertifizierungen",
      "name": "Certifications named",
      "weight": 1,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://o3.solutions/security",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/trust",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/trust-center",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/compliance",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/security",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://trust.o3.solutions/",
          "result": "The name \"trust.o3.solutions\" could not be resolved."
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "sla",
      "name": "Uptime SLA with a figure",
      "weight": 1,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://o3.solutions/legal/sla",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/sla",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/service-level-agreement",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/trust/sla",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/uptime",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/uptime-sla",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "transport",
      "name": "HTTPS enforced with HSTS",
      "weight": 2,
      "result": "found",
      "source_url": "https://o3.solutions/",
      "addresses_checked": [
        {
          "url": "http://o3.solutions/",
          "result": "redirects to https://o3.solutions/"
        },
        {
          "url": "https://o3.solutions/",
          "result": "HSTS max-age=31536000"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "tracker_vor_einwilligung",
      "name": "No third-party tracking before consent",
      "weight": 2,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://o3.solutions/",
          "result": "third-party requests before any interaction: 7197123.fs1.hubspotusercontent-na1.net, api.hubapi.com, app.hubspot.com, cdnjs.cloudflare.com, cta-service-cms2.hubspot.com, fonts.googleapis.com, fonts.gstatic.com, forms-na1.hsforms.com, forms.hscollectedforms.net, forms.hsforms.com, i.clarity.ms, js.hs-analytics.net, js.hs-banner.com, js.hsadspixel.net, js.hscollectedforms.net, js.hsforms.net, js.hubspot.com, pagead2.googlesyndication.com, perf-na1.hsforms.com, px.ads.linkedin.com, region1.google-analytics.com, scripts.clarity.ms, snap.licdn.com, track.hubspot.com, unpkg.com, www.clarity.ms, www.googletagmanager.com"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "security_txt",
      "name": "security.txt (RFC 9116)",
      "weight": 1,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://o3.solutions/.well-known/security.txt",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "subprozessor_meldung",
      "name": "Notice before subprocessors change",
      "weight": 2,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://o3.solutions/legal/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/sub-processors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/data-processing-agreement",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/trust/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/legal/sub-processors",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "datenschutzkontakt",
      "name": "Named privacy contact",
      "weight": 1,
      "result": "found",
      "source_url": "https://o3.solutions/privacy-policy/",
      "addresses_checked": [
        {
          "url": "https://o3.solutions/legal/privacy",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/privacy",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://o3.solutions/privacy-policy",
          "result": "found"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T11:14:07.568Z"
    }
  ],
  "details": [
    {
      "key": "datenregion",
      "name": "Hosting location named",
      "value": "united-states",
      "subject": null,
      "quote": "Our servers are located in the United States.",
      "source_url": "https://o3.solutions/privacy-policy/",
      "measured_on": "2026-09-16T11:14:07.567Z"
    },
    {
      "key": "datenschutzkontakt_art",
      "name": "Privacy contact",
      "value": "data-protection-officer",
      "subject": null,
      "quote": "Data Protection Officer",
      "source_url": "https://o3.solutions/privacy-policy/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "clarity.ms",
      "subject": null,
      "quote": "i.clarity.ms, scripts.clarity.ms, www.clarity.ms",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "cloudflare.com",
      "subject": null,
      "quote": "cdnjs.cloudflare.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "google-analytics.com",
      "subject": null,
      "quote": "region1.google-analytics.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "googleapis.com",
      "subject": null,
      "quote": "fonts.googleapis.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "googlesyndication.com",
      "subject": null,
      "quote": "pagead2.googlesyndication.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "googletagmanager.com",
      "subject": null,
      "quote": "www.googletagmanager.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "gstatic.com",
      "subject": null,
      "quote": "fonts.gstatic.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hs-analytics.net",
      "subject": null,
      "quote": "js.hs-analytics.net",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hs-banner.com",
      "subject": null,
      "quote": "js.hs-banner.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hsadspixel.net",
      "subject": null,
      "quote": "js.hsadspixel.net",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hscollectedforms.net",
      "subject": null,
      "quote": "forms.hscollectedforms.net, js.hscollectedforms.net",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hsforms.com",
      "subject": null,
      "quote": "forms-na1.hsforms.com, forms.hsforms.com, perf-na1.hsforms.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hsforms.net",
      "subject": null,
      "quote": "js.hsforms.net",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hubapi.com",
      "subject": null,
      "quote": "api.hubapi.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hubspot.com",
      "subject": null,
      "quote": "app.hubspot.com, cta-service-cms2.hubspot.com, js.hubspot.com, track.hubspot.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "hubspotusercontent-na1.net",
      "subject": null,
      "quote": "7197123.fs1.hubspotusercontent-na1.net",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "licdn.com",
      "subject": null,
      "quote": "snap.licdn.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "linkedin.com",
      "subject": null,
      "quote": "px.ads.linkedin.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "unpkg.com",
      "subject": null,
      "quote": "unpkg.com",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    },
    {
      "key": "hsts_frist",
      "name": "HSTS max-age",
      "value": "31536000",
      "subject": null,
      "quote": "max-age=31536000",
      "source_url": "https://o3.solutions/",
      "measured_on": "2026-09-16T11:14:07.568Z"
    }
  ]
}