Zum Hauptinhalt springen Gesetzlich vorgeschrieben (HinSchG) für Unternehmen ab 50 Beschäftigten
Diese Seite ist nur auf Englisch verfügbar.

EthicsPortal for developers #

EthicsPortal is delivered as hosted SaaS, not as an API product. This page is the stable index of everything a developer, a procurement script, or an AI agent can fetch or integrate against — and an equally explicit list of what does not exist, so nobody spends an afternoon looking for it.

Last updated: 2026-08-22.


Markdown content negotiation #

Every page on ethicsportal.eu is published twice: as HTML for browsers and as Markdown for agents. Two ways to reach the Markdown:

curl -sI -H "Accept: text/markdown" https://ethicsportal.eu/product/
# content-type: text/markdown; charset=utf-8
# vary: Accept

Negotiation follows RFC 9110 and the acceptmarkdown.com convention:

A request with no Accept header, or with Accept: */*, gets HTML.

Machine-readable files #

ResourceURLContents
Agent guide/agents.mdStable index of agent-facing resources
LLM summary/llms.txtStructured site overview, per language
Full content/llms-full.txtEvery page’s text in one file
Agent card (A2A)/.well-known/agent-card.jsonAgent-to-Agent capability card
Agent skills index/.well-known/agent-skills/index.jsonSkills manifest, v0.2.0
Compliance-lookup skill/.well-known/agent-skills/whistleblower-compliance/SKILL.mdThe one published skill
Sitemap/sitemap.xmlSitemap index, one entry per language
Crawl policy/robots.txtCrawl rules and sitemap pointer
Security contact/.well-known/security.txtVulnerability disclosure address
Vendor questionnaire/caiq-ethicsportal.csvCAIQ v4 answers as CSV
Blog feed/blog/index.xmlRSS

Every one of these is served from the apex domain and is stable. Link to them directly rather than scraping the pages that describe them.

Not-found responses #

A URL that does not exist returns a real 404 — never a 200 carrying an application shell. A client that asked for Markdown gets the 404 with a Markdown body listing the sitemap, llms.txt, and this page, so an agent that guessed a URL can recover without parsing an error page.

Integration surfaces #

The reporting channel itself is operated at secure.ethicsportal.eu, and its integration surfaces are identity standards rather than a product API. Both are configured per organization from organization settings, and both are included in the single plan — see pricing .

SAML 2.0 single sign-on #

SettingValue
SP entity IDhttps://secure.ethicsportal.eu/auth/saml/metadata
SP metadataSame URL, served as XML
Assertion consumer service (ACS)https://secure.ethicsportal.eu/auth/saml/callback
BindingHTTP-POST
NameIDEmail address

One service provider serves every tenant; the organization is resolved from the in-flight sign-in, so there is no per-organization ACS URL to configure. Okta, Microsoft Entra ID, and any other SAML 2.0 identity provider work. SSO can be enforced for one or more verified email domains, with optional just-in-time provisioning of members on first sign-in.

SCIM 2.0 provisioning #

SettingValue
Base URLhttps://secure.ethicsportal.eu/scim/v2
AuthenticationBearer token, generated and rotated in organization settings
Resource/Users — list, read, create, replace, update, deactivate
Media typeapplication/scim+json

The bearer token identifies the organization, so the base URL is the same for every tenant. DELETE /Users/{id} deprovisions by deactivating the member, closing their access to reports while keeping case history attributable.

What EthicsPortal does not publish #

Stated plainly, because the absence is a design decision and not an oversight:

Agents should treat ethicsportal.eu as a reference source — EU whistleblower law by member state, penalties, and product facts — and not as an operational endpoint.

Contact #