PageSourceSearch

https://schulconnex.de/docs/allgemeines-dienste/

html schulconnex.de collected 2026-10-04 13:30:31 UTC 21,725 bytes, 50 lines download raw bytes

1<!doctype html>
2<html lang="de" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-allgemeines-dienste" data-has-hydrated="false">
3<head>
4<meta charset="UTF-8">
5<meta name="generator" content="Docusaurus v3.9.2">
6<title data-rh="true">Schulconnex-Dienste-API | Schulconnex</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://schulconnex.de/docs/allgemeines-dienste"><meta data-rh="true" property="og:locale" content="de"><meta data-rh="true" name="docusaurus_locale" content="de"><meta data-rh="true" name="docsearch:language" content="de"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Schulconnex-Dienste-API | Schulconnex"><meta data-rh="true" name="description" content="Dienste (Anwendungen) nutzen die Schulconnex-Dienste-API zum Abruf von Nutzer- und"><meta data-rh="true" property="og:description" content="Dienste (Anwendungen) nutzen die Schulconnex-Dienste-API zum Abruf von Nutzer- und"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://schulconnex.de/docs/allgemeines-dienste"><link data-rh="true" rel="alternate" href="https://schulconnex.de/docs/allgemeines-dienste" hreflang="de"><link data-rh="true" rel="alternate" href="https://schulconnex.de/docs/allgemeines-dienste" hreflang="x-default">
6<script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Allgemeines","item":"https://schulconnex.de/docs/allgemeines-dienste"}]}</script>
6<link rel="stylesheet" href="/assets/css/styles.b060d3a7.css">
7<script src="/assets/js/runtime~main.83f36107.js" defer="defer"></script>
vendor: 1 bytes, line 7
7
8<script src="/assets/js/main.fddb4d6d.js" defer="defer"></script>
8
9</head>
10<body class="navigation-with-keyboard">
11<svg style="display: none;"><defs>
12<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
13</defs></svg>
14<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script>
14<div id="__docusaurus"><div role="region" aria-label="Zum Hauptinhalt springen"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Zum Hauptinhalt springen</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Schulconnex" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo_dark.svg" alt="Schulconnex" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a><a class="navbar__item navbar__link" href="/docs/einleitung">Allgemeines</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Dienste</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/schnelleinstieg-dienste">Schnelleinstieg</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/docs/allgemeines-dienste">Spezifikation</a></li><li><a class="dropdown__link" href="/docs/generated/openapi/dienste/schulconnex">API Dienste</a></li><li><a class="dropdown__link" href="/docs/download/apiDiensteOpenAPIDownload">Download API Dienste</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Quellsysteme</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/schnelleinstieg-qs">Schnelleinstieg</a></li><li><a class="dropdown__link" href="/docs/allgemeines-qs">Spezifikation</a></li><li><a class="dropdown__link" href="/docs/generated/openapi/quellsysteme/schulconnex">API Quellsysteme</a></li><li><a class="dropdown__link" href="/docs/download/apiQuellsystemeOpenAPIDownload">Download API Quellsysteme</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Nutzungsrechte</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/lizenzerweiterung/einleitung">Spezifikation</a></li><li><a class="dropdown__link" href="/docs/generated/openapi/policies/schulconnex">API Nutzungsrechte</a></li><li><a class="dropdown__link" href="/docs/download/apiNutzungsrechteOpenAPIDownload">Download API Nutzungsrechte</a></li></ul></div></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/allgemeines-dienste">Version 1.8</a><a href="https://github.com/Schulconnex/Schulconnex/issues" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Issues<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><a href="https://github.com/Schulconnex/Schulconnex" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link"><svg height="24" width="24" aria-hidden="true" viewBox="0 0 24 24" version="1.1" data-view-component="true" class="octicon octicon-mark-github v-align-middle"><path fill="var(--github-logo-color-primary)" d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Umschalten zwischen dunkler und heller Ansicht (momentan system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR">
14<path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Zurück nach oben scrollen" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menuHtmlItem_M9Kj menu__list-item"><span style="font-weight: 600;">Dienste-API</span></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/docs/allgemeines-dienste"><span title="Allgemeines" class="linkLabel_WmDU">Allgemeines</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/docs/datenmodell-dienste/datenmodell"><span title="Datenmodell" class="categoryLinkLabel_W154">Datenmodell</span></a><button aria-label="Expand sidebar category &#x27;Datenmodell&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/docs/schnittstellen/schnittstellen-dienste"><span title="Nutzung der REST-API" class="categoryLinkLabel_W154">Nutzung der REST-API</span></a><button aria-label="Expand sidebar category &#x27;Nutzung der REST-API&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/docs/schnittstellen/autorisierung-dienste"><span title="Autorisierung und Authentifizierung" class="categoryLinkLabel_W154">Autorisierung und Authentifizierung</span></a><button aria-label="Expand sidebar category &#x27;Autorisierung und Authentifizierung&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/docs/praxisleitfaden/praxisleitfaden-dienste"><span title="Praxisleitfaden für die Implementierung" class="categoryLinkLabel_W154">Praxisleitfaden für die Implementierung</span></a><button aria-label="Expand sidebar category &#x27;Praxisleitfaden für die Implementierung&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_xLCN"><div class="docItemContainer_jfFK"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Allgemeines</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">Auf dieser Seite</button></div><div class="theme-doc-markdown markdown"><div class="row"><div class="col col--12 markdown"><header><h1>Schulconnex-Dienste-API</h1></header>
15<p>Dienste (Anwendungen) nutzen die Schulconnex-Dienste-API zum Abruf von Nutzer- und
16Kontextdaten.</p>
17<p>Ein Zugriff auf die API ist in drei unterschiedlichen Sicherheitskontexten möglich:</p>
18<p>Aufruf im <strong>Sicherheitskontext einer angemeldeten nutzenden Person mit Zugriff auf den
19Personenkontext</strong>, mit dem die Person angemeldet ist. Bei dieser Art des Zugriffs werden nur
20die Daten, die sich auf den konkreten Personenkontext beziehen, mit dem die oder der
21Nutzende angemeldet ist, durch die REST-API bereitgestellt. Dies ist der Standard-Zugriff für
22Dienste. Dieser Zugriff setzt einen Authentifizierungs- und Autorisierungsvorgang des oder
23der Nutzenden durch den Server voraus, bei dem ein entsprechender Access-Token für den
24Zugriff auf den Endpunkt ausgestellt wird.</p>
25<p>Aufruf im <strong>Sicherheitskontext einer angemeldeten Person mit Zugriff auf alle
26Personenkontexte der Person</strong>. Nur angemeldeten Personen mit besonderem Vertrauensstatus
27kann es ermöglicht werden, auf die vollständigen Daten einer Person (alle Personenkontexte)
28zuzugreifen. Dieser Zugriff setzt ebenfalls einen Authentifizierungs- und Autorisierungsvorgang
29des oder der Nutzenden durch den Server voraus, bei dem ein entsprechender Access-Token
30für den Zugriff auf den Endpunkt ausgestellt wird.</p>
31<p>Aufruf im <strong>Sicherheitskontext des Dienstes mit Zugriff auf alle Daten</strong>, die für sie freigegeben
32sind. Diese Art des Zugriffs erlaubt den Diensten eine (periodische) Synchronisierung der bei
33ihnen gehaltenen Daten mit den Daten des Schulconnex-Services, ohne dass sich die
34nutzenden Personen aktiv anmelden müssen. Der Zugriff erfolgt mit einem Access-Token,
35den der Authentifizierungsserver und Autorisierungsserver für den Dienst ausstellt. Dieser
36Sicherheitskontext wird aktuell zum periodischen Abgleich von gelöschten Daten verwendet.</p>
37<!-- -->
38<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="leere-inhalte-in-json-antworten">Leere Inhalte in JSON-Antworten<a href="#leere-inhalte-in-json-antworten" class="hash-l
38ink" aria-label="Direkter Link zur Leere Inhalte in JSON-Antworten" title="Direkter Link zur Leere Inhalte in JSON-Antworten" translate="no">​</a></h2>
39<p>Schulconnex-Server dürfen keine JSON-Objekte ohne Inhalte ausliefern.</p>
40<p>Dies gilt sowohl für einzelne Attribute, für die kein Wert in der Antwort ausgeliefert wird, als auch für Arrays, die keine Elemente enthalten, und auch für komplexe JSON-Objekte, welche nur Attribute oder Unter-Objekte ohne Inhalte enthalten.</p>
41<p>Ein einzelnes Attribut hat dann keinen Wert, wenn dieser nie gesetzt wurde und in der Spezifikation kein Default-Wert definiert ist, oder wenn ein vorhandener Wert gelöscht oder bei einem PATCH auf <code>null</code> gesetzt wurde. Unabhängig davon, ob ein Client im Prinzip auf dieses Attribut zugreifen kann, dürfen solche Attribute von Schulconnex-Servern nicht ausgeliefert werden.</p>
42<p>Dies gilt auch für komplexe JSON-Objekte, wenn alle enthaltenen, für einen Client lesbaren, Attribute leer sind.</p>
43<p>Ist, beispielsweise, zur Geburt einer Person nur der Ort und nicht das Datum gesetzt, so liefert der Server in der Antwort auch nur:</p>
44<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;geburt&quot;: {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      &quot;geburtsort&quot;: &quot;Berlin, Deutschland&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    }</span><br></span></code></pre></div></div>
45<p>Ist auch der Geburtsort nicht gesetzt, so wird das Objekt <code>geburt</code> in der Antwort nicht geliefert.</p>
46<p>Hat ein Dienst nur Zugriff auf das Attribut <code>geburt.datum</code>, so darf das Objekt <code>geburt</code> in beiden Fällen nicht geliefert werden.</p>
47<p>Hierdurch sollen Inkonsistenzen im Verhalten unterschiedlicher Schulconnex-Server vermieden werden und verhindert werden, dass Dienste implizit Rückschlüsse auf für diese nicht vertraglich freigegebene Attribute ziehen können.</p>
48<p>Eine Ausnahme von diesem Verhalten besteht bei der Nutzung von Filtern beim Lese-Zugriff auf Daten. Wird, beispielsweise durch die Nutzung von Filtern, auf eine Anfrage kein Rückgabewert geliefert, so muss ein Schulconnex-Server eine leere Liste <code>[]</code> liefern.</p></div></div></div><div class="row"><div class="col col--12"></div></div></article><div class="row"><div class="col col--12"><nav class="docusaurus-mt-lg pagination-nav" aria-label="Dokumentation Seiten"><a class="pagination-nav__link pagination-nav__link--next" href="/docs/datenmodell-dienste/datenmodell"><div class="pagination-nav__sublabel">Weiter</div><div class="pagination-nav__label">Datenmodell</div></a></nav></div></div></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#leere-inhalte-in-json-antworten" class="table-of-contents__link toc-highlight">Leere Inhalte in JSON-Antworten</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/footer/beteiligung">Beteiligung</a></li><li class="footer__item"><a href="https://github.com/Schulconnex/Schulconnex" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div>
48<div class="col footer__col"><div class="footer__title">Rechtliches</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/footer/impressum">Impressum</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/footer/datenschutz">Datenschutz</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/footer/barrierefreiheit">Barrierefreiheit</a></li></ul></div><div class="col footer__col"><a href="https://fwu.de/" target="_blank" rel="noopener noreferrer" class="footerLogoLink_Yrlo"><img src="/img/FWU-Logo-RGB-orange.png" alt="Logo der FWU" class="kontaktLogo_tGPq themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/FWU-Logo-RGB-orange.png" alt="Logo der FWU" class="kontaktLogo_tGPq themedComponent_mlkZ themedComponent--dark_xIcU"></a></div></div><div class="footer__bottom text--center"><div class="footer__copyright"><a href="https://creativecommons.org/licenses/by-nd/4.0/legalcode" ; style="color:#bfadf7;" target="_blank">CC BY-ND 4.0</a></div></div></div></footer></div>
49</body>
50</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.