Hinweise für IT-Abteilungen
Diese Seite beantwortet die Fragen, die vor der Freigabe einer Software gestellt werden: welche Verbindungen sie aufbaut, welche Daten sie überträgt, worauf sie auf dem Rechner zugreift, was sie schreibt und wie sich der Installer prüfen lässt. Sie ist zum Weiterleiten gedacht.
Grundlage dieser Angaben
Jede Aussage auf dieser Seite trägt ihre Quelle: Quellcode heißt, sie stammt aus dem Programmcode der Anwendung (Stand 1.3.3; vollständig durchgesehen wurde 1.3.0 am 07.09.2026, die Änderungen bis 1.3.3 sind am 21.09.2026 abgeglichen). NDI-Doku heißt, sie beschreibt das Verhalten der eingebundenen NDI-Bibliothek von Vizrt nach deren Dokumentation — dieses Verhalten liegt außerhalb unseres Codes. Portal heißt, sie beschreibt eine Einstellung unseres Lizenzportals, nicht des Programms. Installer heißt, sie stammt aus dem Setup-Skript. Datei heißt, sie stammt aus der veröffentlichten Installer-Datei selbst; die Zertifikatsangaben liest diese Seite bei jedem Aufruf daraus. Wo eine Angabe unbequem ist, steht sie trotzdem hier.
Was die Software ist Quellcode
Stage Display Regie (StageDisplayRegie.exe) ist
eine Windows-Desktopanwendung für die Bild- und Textausgabe auf Bühnen,
in Konferenzräumen und in der Videoproduktion. Sie verteilt Inhalte auf
mehrere Monitore und NDI®-Ausgänge: PowerPoint-Folien und -Notizen,
Kamerabilder, Referententimer, Uhrzeit und eingeblendete Regiehinweise.
Sie läuft als der angemeldete Benutzer, ohne erhöhte Rechte, ausschließlich lokal auf dem Regierechner. Es gibt keine Serverkomponente im Kundennetz und keinen Cloud-Dienst, in den Inhalte übertragen würden.
Verbindungen ins Internet Quellcode
Der eigene Code der Anwendung enthält genau drei
Stellen, die eine Netzverbindung aufbauen — alle über die
HTTP-Bibliothek der Python-Standardbibliothek, alle zur selben Adresse
updates.netsecure.media. Es gibt keinen weiteren Netzwerkcode.
| Aufruf | Ziel | Wann | Was genau gesendet wird |
|---|---|---|---|
| Lizenz aktivieren / erneuern | updates.netsecure.media |
Bei Eingabe des Schlüssels, auf „Jetzt erneuern" und im Betrieb, wenn der Erneuerungstermin im Token näher rückt — bei einer Jahreslizenz rund alle drei Wochen, bei Wochen- und Wochenendlizenzen alle sechs Stunden (siehe unten) | key, machineHash, machineName, appVersion |
| Sperrprüfung | updates.netsecure.media |
Alle 60 Sekunden, solange eine Lizenz hinterlegt ist, auch eine gesperrte — ohne Netz als erfolgloser Versuch. Nur gegenüber einem Portal, das diese Abfrage nicht kennt: alle 5 Minuten, ersatzweise über die Erneuerung. Startet das Programm ohne Lizenz oder mit abgelaufener, fragt es nicht, bis im Lizenzdialog ein Schlüssel aktiviert wird; endet eine Lizenz während des Betriebs, fragt es bis zum Beenden weiter. | key, machineHash |
| Platz freigeben | updates.netsecure.media |
Nur auf Anweisung des Bedieners | key, machineHash, machineName, appVersion |
| Versionsangaben abrufen | updates.netsecure.media |
Einmal rund 1,5 Sekunden nach dem Programmstart, sonst nur über „Hilfe → Nach Updates suchen" | Keine Daten außer der Programmkennung im User-Agent |
| Installer laden | updates.netsecure.media |
Nur nach Bestätigung des Bedieners | Keine Daten außer der Programmkennung im User-Agent |
Jeder dieser Aufrufe trägt im User-Agent die Programmkennung mit
Versionsnummer, etwa StageDisplayRegie/1.3.3 (Windows).
Wie oft sich die Software beim Portal meldet Quellcode Portal
Solange eine Lizenz hinterlegt ist, fragt die Software alle 60 Sekunden nach, ob sie noch gilt. Ein neues Token holt sie, sobald dessen Erneuerungstermin weniger als sieben Tage entfernt ist — höchstens alle sechs Stunden und nur im Anschluss an eine Sperrprüfung, die das Portal erreicht hat. Den Erneuerungstermin im Token setzt das Portal: bei einer Jahreslizenz 30 Tage, bei Wochen- und Wochenendlizenzen 12 Stunden nach der Ausstellung. Eine Jahreslizenz erneuert sich damit rund alle drei Wochen, in der letzten Woche vor ihrem Ende alle sechs Stunden. Eine Wochen- oder Wochenendlizenz erneuert sich kurz nach der Aktivierung und danach alle sechs Stunden, solange das Programm läuft — jedes Mal mit den vier Feldern aus der Tabelle, also auch mit dem Rechnernamen.
Regeln für diese Verbindungen
- HTTPS ist erzwungen. Unverschlüsseltes HTTP lehnt der
Code ab. Einzige Ausnahmen:
localhost(für ein Testportal) und — nur beim Updater — eine ausdrückliche Freigabe in der Konfiguration. Beides ist im Auslieferungszustand nicht gesetzt. - Der System-Proxy wird benutzt. Die Anwendung bringt keine eigene Proxy-Behandlung mit und übernimmt die Einstellungen von Windows.
- Die Update-Adresse kommt seit 1.3.2 nur noch aus dem
Programmordner.
base_urlund die ausdrückliche HTTP-Freigabe übernimmt das ausgelieferte Programm ausschließlich ausupdate_config.jsonneben dem Programm — der Datei, die nur ein Administrator beschreiben kann. Dieselben Angaben aus dem Benutzerdatenordner oder ausSTAGEDISPLAY_UPDATE_URLundSTAGEDISPLAY_UPDATE_INSECUREwerden verworfen und im Protokoll vermerkt; bis 1.3.1 gewannen sie. Frei einstellbar bleiben Kanal, automatische Suche und Zeitlimit, auch überSTAGEDISPLAY_UPDATE_CHANNEL— ein Betatester soll dafür keine Adminrechte brauchen. - Seit 1.3.3 gilt dasselbe für die Lizenzadresse.
Das ausgelieferte Programm übernimmt sie ausschließlich aus
license_config.jsonim Programmordner. Dieselbe Datei im Benutzerdatenordner und die UmgebungsvariableSTAGEDISPLAY_LICENSE_URLwerden verworfen und im Protokolllicensing.logvermerkt; bis 1.3.2 hatten sie Vorrang und ließen sich von jedem Benutzerkonto setzen. Die mitgeliefertelicense_config.jsonnenntupdates.netsecure.media— dieselbe Adresse, die auch ohne sie gälte. Ein fremdes Portal könnte ohnehin keine Lizenz erteilen: Das Lizenz-Token ist signiert und wird gegen einen im Programm hinterlegten Schlüssel geprüft. Seit 1.3.3 wird eine im Portal gesetzte Sperre nur noch durch dessen ausdrückliche Bestätigung aufgehoben.
Wenn die Adressen nicht erreichbar sind
Die Software arbeitet weiter. Der Ausfall wird protokolliert, es erscheint kein Dialog, nichts blockiert — auf einem Rechner in fremdem Veranstaltungs-WLAN ist das der Regelfall. Eine aktivierte Lizenz gilt bis zum im Token hinterlegten Erneuerungstermin, danach für eine ebenfalls im Token hinterlegte Kulanzfrist weiter; erst dann schaltet die Software in den Demo-Betrieb zurück. Unabhängig davon endet jede Lizenz zum Ende ihrer gebuchten Laufzeit, das ebenfalls im Token steht — mit oder ohne Netz. Bei Wochen- und Wochenendlizenzen ist das der Regelfall: Sie arbeiten ohne Portal bis zum gebuchten Zeitpunkt. Fassung 1.3.3 vollzieht den Wechsel in den Demo-Betrieb allerdings in beiden Fällen erst beim nächsten Programmstart; ein Programm, das über das Ende hinaus läuft, bemerkt es nicht von selbst. Startet die Software im Demo-Betrieb, nimmt sie keinen Kontakt zum Lizenzportal auf; die Update-Suche beim Start (siehe Tabelle) läuft davon unabhängig.
Verbindungen im lokalen Netz — nur mit NDI® Quellcode NDI-Doku
NDI® ist ein offener Standard für Video über IP, entwickelt von Vizrt. Die Software kann NDI-Quellen empfangen (als Modul im Layout) und eigene Kanäle als NDI-Stream senden. Beides findet ausschließlich im lokalen Netzsegment statt. Wird NDI nicht benutzt, entfällt alles in diesem Abschnitt.
| Vorgang | Richtung | Technik |
|---|---|---|
| Quellen finden | eingehend | mDNS-Multicast, UDP 5353. Die NDI-Bibliothek lauscht auf Ankündigungen anderer NDI-Geräte im Netz. |
| NDI-Quelle empfangen | ausgehend | Die Bibliothek baut die TCP-Verbindung zur Quelle auf; das Bild fließt darüber zurück. Angefordert wird die höchste Bandbreitenstufe im Format BGRX/BGRA. Mitgelieferter Ton wird entgegengenommen und sofort verworfen — die Software verarbeitet keinen Ton. |
| NDI-Stream senden | eingehend | Die Bibliothek öffnet einen lauschenden TCP-Port, damit Empfänger sich verbinden können; laut NDI-Dokumentation ab TCP 5960 aufwärts. Gesendet wird ausschließlich Video: 1920 × 1080, 30 Bilder/s, BGRX. Kein Ton, keine Metadaten. Der Stream trägt den vom Bediener vergebenen Kanalnamen. |
Welche Ports die NDI-Bibliothek konkret belegt, bestimmt das NDI-SDK, nicht unser Code. Verbindliche Angaben dazu stehen in der Dokumentation des NDI-SDK von Vizrt.
Eingehende Verbindungen Quellcode Installer
Aus dem Internet: keine. Die Anwendung betreibt keinen Server und nimmt aus dem Internet keine Verbindungen entgegen. Für die beiden oben genannten Adressen genügt ausgehendes HTTPS.
Im lokalen Netz: nur mit NDI. Beim ersten NDI-Einsatz fragt die Windows-Firewall nach einer Freigabe für die Anwendung — der Installer legt bewusst keine Regel an. Empfohlen ist eine Freigabe für eingehenden Verkehr nur im Profil „Privat" beziehungsweise „Domäne", nicht in „Öffentlich". Ohne diese Freigabe funktioniert das Senden von NDI-Streams nicht; Empfang und alle übrigen Funktionen bleiben davon unberührt.
Zugriff auf andere Programme Quellcode
PowerPoint
Die Software verbindet sich über COM-Automation mit einer bereits laufenden PowerPoint-Instanz. Sie startet PowerPoint nicht, öffnet keine Dateien und findet ohne laufende Vorführung nichts vor.
- Gelesen wird: das Vorführfenster, die aktuelle Foliennummer, der Notizentext der Folie und ein Bild der Folie (Export als PNG in den Temp-Ordner, siehe unten).
- Gesteuert wird: eine Folie vor, eine zurück — und nur das, und nur, wenn der Bediener die Fernbedienung nutzt.
- Nie: Präsentationen ändern, speichern, unter anderem Namen ablegen oder PowerPoint beenden. Diese Aufrufe kommen im Code nicht vor.
Bildschirmabgriff
Der Abgriff ist im Auslieferungszustand aus und wird vom Bediener eingeschaltet (Einstellungen → „Folienbild live abgreifen (Beta)"). Ist er aus, wird kein Fensterinhalt gelesen.
Um die Folie samt laufender Animationen zu zeigen, greift die Software
den Inhalt eines einzigen Fensters ab: des
PowerPoint-Vorführfensters. Dafür wird der Fensterinhalt direkt gelesen
(PrintWindow), nicht der Bildschirm; nur wenn das scheitert,
wird ersatzweise der Bildschirmausschnitt an der Position dieses
Fensters kopiert. Andere Fenster, andere Anwendungen oder der Desktop
werden nicht erfasst.
Eingabegeräte Quellcode
Die Folienfernbedienung ist im Auslieferungszustand aus und wird vom Bediener eingeschaltet. Sie kennt zwei Betriebsarten, und der Unterschied ist für die IT erheblich:
| Betriebsart | Technik | Was sie sieht |
|---|---|---|
| „Nur ein Gerät" | Raw Input (RegisterRawInputDevices) für das gewählte
Gerät. Zum Anzeigen des Gerätenamens wird
HKLM\SYSTEM\CurrentControlSet\Enum gelesen. |
Nur die Tasten dieses einen Geräts. |
| „Jede Tastatur" | Ein systemweiter Low-Level-Tastaturhaken
(WH_KEYBOARD_LL). |
Jeden Tastendruck im System, auch in anderen Programmen. |
Das sagen wir offen, weil dieselbe Technik auch Keylogger benutzen
Der Haken in der Betriebsart „Jede Tastatur" sieht alle Tastendrücke. Was er damit tut, steht im Code: Er vergleicht jeden Tastendruck mit den zwei konfigurierten Tasten für Vor und Zurück. Trifft eine davon, wird sie verarbeitet und nicht an andere Programme weitergereicht. Jede andere Taste wird unverändert weitergereicht. Kein Tastendruck wird gespeichert, protokolliert oder übertragen.
Wer das in seiner Umgebung nicht möchte, wählt die Betriebsart „Nur ein Gerät" oder lässt die Fernbedienung aus. Beides schränkt sonst nichts ein.
Kameras, Monitore, Ton, Zwischenablage Quellcode
- Kameras werden ausschließlich als lokale DirectShow-Geräte über ihre Gerätenummer geöffnet. Netzwerkstreams oder Adressen kann der Kamerapfad nicht öffnen.
- Monitore: gelesen werden Name und Auflösung über die Qt-Bildschirmliste. Keine EDID-Daten, keine Seriennummern.
- Mikrofon: nie. Es gibt keinen Audio-Eingabecode.
- Zwischenablage: nie.
Welche Daten den Rechner verlassen Quellcode
Die vollständige Liste steht in der Tabelle oben; hier die Felder im Einzelnen:
machineHash |
Ein mit einem produktspezifischen Wert gesalzener SHA-256-Hash
der Windows-MachineGuid (gelesen aus
HKLM\SOFTWARE\Microsoft\Cryptography). Die GUID
selbst wird nicht übertragen; der Hash lässt sich nicht auf den
Rechner zurückrechnen. Bewusst nicht verwendet:
MAC-Adressen, Seriennummern von Datenträgern,
Prozessorkennungen. |
machineName |
Der Rechnername, auf 64 Zeichen begrenzt — bei Aktivierung, Erneuerung und Freigabe, bei der Sperrprüfung nur auf dem Ersatzweg über die Erneuerung (siehe Tabelle). Er dient dazu, die Geräte in der Lizenzübersicht des Kunden zu unterscheiden. Bei Wochen- und Wochenendlizenzen geht er damit etwa alle sechs Stunden hinaus. |
appVersion |
Die Versionsnummer der Anwendung — bei Aktivierung, Erneuerung und Freigabe; im User-Agent steht sie bei jedem Aufruf. |
key |
Der Lizenzschlüssel des Kunden. |
Sonst nichts: keine Telemetrie, keine Nutzungsstatistik, kein Analyse- oder Absturzmeldedienst. Präsentationen, Kamerabilder, Notizen und NDI-Signale verlassen den Rechner nur über die vom Bediener eingerichteten Ausgänge im lokalen Netz.
Was auf dem Rechner geschrieben wird Quellcode
| Ort | Inhalt |
|---|---|
C:\Program Files\StageDisplayRegie |
Nur bei der Installation. Die laufende Anwendung schreibt dort nie. |
%LOCALAPPDATA%\StageDisplayRegie\license |
Das Lizenz-Token und eine Zustandsdatei (zuletzt gesehener Zeitpunkt, gegen Zurückstellen der Uhr). Das Token ist mit Ed25519 signiert, nicht verschlüsselt; die Signatur wird geprüft, bevor der Inhalt gelesen wird. Es enthält Lizenzschlüssel, Kundenname, Kundennummer, den Rechner-Hash, Plan, Platzanzahl und Laufzeiten. Auf einem anderen Rechner ist es wegen der Rechnerbindung wertlos. |
%LOCALAPPDATA%\StageDisplayRegie\logs |
updater.log, licensing.log und
crash.log. Enthalten Zeitstempel, Versionen und
Fehlermeldungen — keine E-Mail-Adressen, keinen
Rechnernamen. licensing.log enthält nach
einer Aktivierung den Lizenzschlüssel.
crash.log legt die Software beim ersten Start an;
bei jedem Beenden kommt ein Eintrag mit dem Aufrufstapel hinzu,
bei einem Absturz zusätzlich die Fehlermeldung. Keine der
Dateien wird rotiert; licensing.log wächst um eine
Zeile je Minute, solange die Sperrprüfung kein „aktiv" erhält —
ohne Netz, bei gesperrter und bei im Betrieb abgelaufener
Lizenz. |
%LOCALAPPDATA%\StageDisplayRegie\updates |
Ein heruntergeladener Installer bis zu seiner Ausführung; ältere Installer dort werden dabei gelöscht. |
%TEMP% |
ppt_stage_slide.png und ppt_stage_next.png:
das Bild der aktuellen und der nächsten Folie, exportiert aus
PowerPoint. Diese Dateien enthalten Folieninhalt. Ab
Version 1.3.0 löscht die Software jede davon sofort, nachdem sie
das Bild übernommen hat — sie liegen also nur für den
Moment des Ladens dort. Hält ein Virenscanner eine Datei noch
geöffnet, wird sie beim nächsten Folienwechsel entfernt; Reste
einer abgebrochenen Sitzung räumt die Software beim nächsten
Start weg. Bis Version 1.2.5 blieben beide Bilder liegen, bis
Windows den Temp-Ordner bereinigte. Dazu
stage-display-ui\ mit kleinen Pfeilgrafiken für die
Oberfläche. |
Registry HKEY_CURRENT_USER\Software\StageDisplayApp |
Fensterlage, Layout-Vorlagen, Kanalkonfiguration,
Fernbedienungseinstellungen, übersprungene Update-Version.
Nur unter dem Benutzer; HKLM wird ausschließlich
gelesen (MachineGuid, Gerätenamen). |
Installer prüfen
Aktuelle Fassung
Version wird geladen …, Größe wird geladen
SHA-256 des Installers:
wird geladen …
Diese Angaben werden beim Aufruf dieser Seite unmittelbar vom Update-Server geladen und beziehen sich immer auf die derzeit veröffentlichte stabile Fassung.
Unter Windows lässt sich die Prüfsumme so vergleichen:
certutil -hashfile StageDisplayRegie-<Version>-setup.exe SHA256 |
Code-Signatur Datei
Ab Version 1.3.1 trägt jede ausführbare Datei, die die
Anwendung mitbringt, eine Authenticode-Signatur
— auch alle Programmbibliotheken und die Python-Module mit der Endung
.pyd, die Windows wie eine DLL lädt. In Version 1.3.0 waren
es nur drei: Installer, Programmdatei und Deinstaller. Für App Control
(WDAC), AppLocker mit DLL-Regeln und Smart App Control ist das der
entscheidende Unterschied, weil dort jede geladene Datei geprüft wird und
nicht nur die gestartete.
Bibliotheken anderer Hersteller behalten deren Originalsignatur; sie zu ersetzen würde die Herkunft verschleiern. An einer Installation der Fassung 1.3.2 nachgezählt, verteilen sich die 145 Dateien so:
| The Qt Company Oy | 51 — die Oberflächenbibliothek |
|---|---|
| NetSecure.Media | 48 — unser Programm und alles, was sonst unsigniert wäre |
| Microsoft Corporation | 41 — Visual-C++-Laufzeit und Windows-Komponenten |
| Microsoft Windows Software Compatibility Publisher | 3 — einzelne Windows-Komponenten |
| Vizrt AG | 2 — NDI |
Eine Freigabe nach Herausgeber braucht damit entweder diese fünf oder
eine Regel auf NetSecure.Media zusätzlich zu den üblichen
Microsoft- und Qt-Regeln. Leicht zu übersehen: Der
Installer entpackt beim Start eine zweite ausführbare Datei nach
%TEMP%\is-XXXXXXXX.tmp\StageDisplayRegie-<Version>-setup.tmp
und führt sie aus — unter App Control scheitert sonst genau daran die
Installation. Auch diese Datei ist signiert.
Jede Signatur trägt einen Zeitstempel und bleibt damit auch nach Ablauf des Zertifikats gültig. Die folgenden Angaben liest diese Seite beim Aufruf aus der Signatur des aktuellen Installers; sie stimmen damit auch nach einem Zertifikatswechsel.
| Herausgeber, wie Windows ihn anzeigt | NetSecure.Media |
|---|---|
| Vollständiger Name im Zertifikat | CN=NetSecure.Media, O=NetSecure.Media, L=Heisfelde, S=Leer, C=DE |
| Ausgestellt von | Actalis Code Signing CA G2, Stammzertifikat Actalis Authentication Root CA |
| Art | Codesignatur-Zertifikat mit geprüfter Organisation (OV) |
| Gültig | 15.09.2026 bis 15.09.2027 |
| Fingerabdruck (SHA-1) | 9A93E9018A1EA38F33751B5A9C8663B55FE469F6 |
| Seriennummer | 0FD6949D359641C2E6C0532C976A29D9 |
| Zeitstempel | Actalis Time Stamping CA G1 |
Selbst nachsehen lässt sich das im Explorer unter Eigenschaften → Digitale Signaturen, oder in PowerShell:
Get-AuthenticodeSignature .\StageDisplayRegie-<Version>-setup.exe | Format-List Status, SignerCertificate |
Get-ChildItem "C:\Program Files\StageDisplayRegie" -Recurse -Include *.exe,*.dll,*.pyd | ForEach-Object { Get-AuthenticodeSignature $_ } | Group-Object Status |
Erwartet ist der Status Valid und im Zertifikat der Name aus
der Tabelle; der zweite Befehl muss für die installierte Fassung
ausschließlich Valid ausgeben. Für Freigaberegeln nach
Herausgeber, etwa mit AppLocker, ist der vollständige Name maßgeblich.
SmartScreen kann trotzdem noch warnen
Das Zertifikat ist neu, und Microsoft SmartScreen bildet seine
Einstufung aus der Zahl der Installationen signierter Dateien. Beim
ersten Start kann deshalb weiterhin ein Hinweis erscheinen. Er nennt
jetzt aber NetSecure.Media als Herausgeber statt
„Unbekannter Herausgeber", und die UAC-Abfrage zeigt einen
verifizierten Herausgeber. Wie lange SmartScreen noch warnt, können wir
nicht beeinflussen.
Fassungen bis einschließlich 1.2.5 sind nicht signiert. Unabhängig von der Signatur bleibt die SHA-256-Prüfsumme oben ein zweites Merkmal. Für eine Freigabe in Ihrer Umgebung stellen wir Ihnen die Datei auf Wunsch auch auf anderem Weg zur Verfügung — die Kontaktangaben stehen am Ende dieser Seite.
Wie Updates ablaufen Quellcode Installer
- Der Abruf erfolgt über HTTPS. Die Versionsangaben (das „Manifest") enthalten Dateiname, Größe und SHA-256 des Installers.
- Geladen wird in eine
.part-Datei; nach dem Laden wird die Prüfsumme gebildet, die Datei auf den Datenträger geschrieben und erst dann an ihren endgültigen Namen gesetzt. - Unmittelbar vor dem Start wird die Prüfsumme ein zweites Mal gebildet. Der Dateiname ist auf ein festes Muster beschränkt.
- Gestartet wird der Installer über
ShellExecutemit den Schaltern/SILENT /SUPPRESSMSGBOXES /NORESTART /CLOSEAPPLICATIONS /NORESTARTAPPLICATIONS; die Rechteerhöhung läuft über die UAC-Abfrage des Installers. Nach dem Update startet das Setup die Anwendung wieder, als der angemeldete Benutzer. Der Installer ist der einzige Fremdprozess, den die Anwendung selbst startet — es gibt keinen Aufruf von Kommandozeile oder anderen Programmen. Daneben reicht sie nur eine Adresse an Windows weiter: Ein Klick auf den Link „Lizenz online kaufen" im Lizenzdialog öffnetstagedisplay.netsecure.mediaim Standardbrowser; die Adresse leitet aufstagedisplay.netweiter. - Ein Update wird nie ungefragt eingespielt. Der Bediener entscheidet; sind Ausgabekanäle live, warnt die Software zusätzlich.
Signaturprüfung im Updater
Ab Version 1.3.0 prüft der Updater unmittelbar vor dem Start die
Code-Signatur des heruntergeladenen
Installers. Windows muss der Signatur vertrauen, und der
Herausgeber muss NetSecure.Media sein. Trifft eines von
beidem nicht zu, wird der Installer nicht ausgeführt, und die
installierte Fassung bleibt unverändert.
Die Regel ist fest im Programm hinterlegt und lässt sich über keine
Konfigurationsdatei abschalten. Kann Windows die Widerrufsliste nicht
erreichen, etwa ohne Internetzugang, wird ohne diese Abfrage geprüft;
ein tatsächlich widerrufenes Zertifikat führt weiterhin zur Ablehnung.
Das Ergebnis steht im Protokoll updater.log.
Wirksam ist die Prüfung bei Updates, die eine Installation ab 1.3.0 bezieht. Wer von 1.2.5 oder älter auf 1.3.0 aktualisiert, durchläuft noch den bisherigen Updater ohne diese Prüfung.
Fassungsprüfung im Updater
Ab Version 1.3.3 prüft der Updater nach der Signatur auch, welche
Fassung im Setup steckt. Er liest dazu die Dateiversion aus der
Versionsressource der heruntergeladenen Datei, über die
Windows-Funktionen GetFileVersionInfoW und
VerQueryValueW. Diese Angabe steht in der Datei selbst und
ist von der Code-Signatur mit abgedeckt.
Gestartet wird das Setup nur, wenn diese Fassung der im Manifest
angekündigten entspricht und nicht älter ist als die installierte.
Fehlt die Angabe, passt sie nicht oder ist sie älter, wird der
Installer nicht ausgeführt, und die installierte Fassung bleibt
unverändert. Das Ergebnis steht im Protokoll updater.log.
Auch diese Regel ist fest im Programm hinterlegt.
Verglichen wird der Zahlenteil der Fassung, denn eine Vorabkennzeichnung wie „-beta.1" kann die Versionsressource nicht tragen. Wirksam ist die Prüfung bei Updates, die eine Installation ab 1.3.3 bezieht. Wer von 1.3.2 auf 1.3.3 aktualisiert, durchläuft noch den bisherigen Updater ohne diese Prüfung.
Was hier ehrlicherweise fehlt
Das Manifest — die kleine Textdatei auf dem Update-Server, die der laufenden Software mitteilt, welche Fassung es gibt und welche Prüfsumme sie hat — ist nicht signiert. Es ist kein Programmbestandteil: Die Signaturen weiter oben betreffen die ausgelieferten Programmdateien, nicht diese Textdatei. Die Vertrauenskette ist: TLS-Verbindung zu unserem Server, darin die Prüfsumme, gegen die der Installer geprüft wird. Wer den Server oder die Verbindung kontrollierte, könnte beides ersetzen. Eine Signatur des Manifests ist geplant; die dafür nötige Infrastruktur ist für die Lizenz-Token bereits in Betrieb.
Die oben beschriebene Signaturprüfung nimmt diesem Weg ab Version 1.3.0 die Wirkung: Ein untergeschobener Installer ließe sich weiterhin anbieten, aber nicht mehr starten. Sie ersetzt die Signatur des Manifests nicht — vorgesehen ist beides.
Seit Version 1.3.3 ist auch der Fall geschlossen, dass ein verändertes Manifest statt einer fremden Datei eine ältere, echte Fassung anbietet. Deren Signatur wäre gültig — der Updater liest aber zusätzlich die Fassung aus dem Setup selbst und startet es nur, wenn sie zur Ankündigung passt und nicht älter ist als die installierte (siehe oben). Wirksam ist das bei Updates, die eine Installation ab 1.3.3 bezieht. Verhindern lässt sich damit nicht, dass ein verändertes Manifest ein vorhandenes Update verschweigt.
Was die Installation auf dem Rechner verändert Installer
| Zielverzeichnis | C:\Program Files\StageDisplayRegie, Programmdatei StageDisplayRegie.exe |
|---|---|
| Architektur | 64 Bit |
| Rechte | Administratorrechte einmalig für die Installation. Danach wird die Anwendung als der angemeldete Benutzer gestartet und benötigt keine erhöhten Rechte. |
| Startmenü / Desktop | Startmenü-Eintrag; Desktop-Verknüpfung nur auf Wunsch (Standard: aus) |
| Dienst | wird keiner eingerichtet |
| Treiber | wird keiner installiert |
| Autostart / Aufgabenplanung | kein Eintrag; die Anwendung startet nur, wenn sie aufgerufen wird oder nach einem Update vom Setup wieder gestartet wird |
| Firewall | der Installer legt keine Regel an. Beim ersten NDI-Einsatz fragt Windows; ohne NDI wird keine Freigabe benötigt |
| Registry | nur der übliche Deinstallationseintrag des Setups; alles Weitere legt die Anwendung unter HKCU an (siehe oben) |
| Deinstallation | über „Apps & Features". Der Benutzerdatenordner unter %LOCALAPPDATA% und die HKCU-Einträge bleiben dabei erhalten |
Mitgelieferte Komponenten Quellcode
Die Anwendung ist in Python geschrieben und mit PyInstaller zu einem eigenständigen Programmordner zusammengefasst. Enthalten sind:
| Komponente | Version | Zweck |
|---|---|---|
| Qt / PySide6 | 6.11.1 | Oberfläche |
| NDI-Laufzeitbibliothek (Vizrt) | 6, über ndi-python 6.3.2.3 | NDI senden und empfangen — Processing.NDI.Lib.x64.dll |
| OpenCV | 5.0.0.93 | Kamerazugriff über DirectShow |
| NumPy | 2.5.1 | Bildpuffer |
| pywin32 | 312 | COM-Anbindung an PowerPoint, DirectShow-Geräteliste |
| cryptography | 50.0.0 | Prüfung der Lizenzsignatur (Ed25519) |
Was die Software nicht tut Quellcode
- Sie nimmt keine eingehenden Verbindungen aus dem Internet entgegen. Lauschende Ports gibt es nur im lokalen Netz und nur mit NDI.
- Sie startet keine anderen Programme — mit der einzigen Ausnahme des geprüften Installers bei einem vom Bediener bestätigten Update. Den Standardbrowser öffnet sie nur, wenn der Bediener im Lizenzdialog auf „Lizenz online kaufen" klickt.
- Sie richtet keinen Dienst, keinen Autostart und keine geplante Aufgabe ein und installiert keine Treiber.
- Sie überträgt keine Telemetrie und bindet keinen Analyse- oder Absturzmeldedienst ein.
- Sie überträgt keine Präsentationen, Kamerabilder oder sonstigen Inhalte ins Internet.
- Sie greift nicht auf Mikrofon oder Zwischenablage zu und erfasst keine anderen Fenster als das PowerPoint-Vorführfenster.
- Sie ändert, speichert oder schließt keine PowerPoint-Dateien.
- Sie enthält keine Funktion zum Fernzugriff, keinen Proxy, kein VPN und keine Möglichkeit, Netzsperren zu umgehen.
- Sie schreibt nicht in den Programmordner und nicht nach
HKLM.
Wenn Ihr Filter die Seite oder den Download blockiert
Die Domain stagedisplay.net wurde im August 2026
registriert. Manche Filterlösungen sperren neu registrierte Domains
pauschal für eine Übergangszeit, unabhängig vom Inhalt. Bei einzelnen
Anbietern war die Seite zeitweise fehlerhaft eingestuft; wir haben die
Korrektur beantragt.
Für eine Freigabe genügen in der Regel diese Adressen:
| Produktseite, Kauf und Download des Installers | stagedisplay.net, ausgehend HTTPS, aus dem Lizenzdialog über stagedisplay.netsecure.media (leitet weiter) |
|---|---|
| Lizenz und Updates aus der installierten Software | updates.netsecure.media, ausgehend HTTPS |
| NDI (nur bei Nutzung) | eingehend im lokalen Netz für StageDisplayRegie.exe, Profil „Privat"/„Domäne" |
Die ausgelieferte Software ruft portal.netsecure.media nicht
auf; Lizenzprüfung und Updates laufen beide über
updates.netsecure.media.
Chrome kann den Download blockieren — beobachtet mit
„Verdächtiger Download blockiert". Das ist kein Befund über die Datei:
Google Safe Browsing kennt weder diese Datei noch das frische
Signaturzertifikat, und ohne Downloadhistorie stuft Chrome vorsichtshalber
ab. Weder stagedisplay.net noch netsecure.media
noch updates.netsecure.media sind bei Google als unsicher
eingestuft. Im Downloadverlauf lässt sich der Download über den Pfeil mit
„Beibehalten" abschließen; prüfen Sie danach Prüfsumme und Herausgeber wie
oben beschrieben.
Für Proxys, die große Dateien abbrechen: Der Download von
stagedisplay.net unterstützt Teilabrufe (HTTP 206), ein
unterbrochener Download lässt sich fortsetzen.
Anbieter und Rückfragen
NetSecure.Media (Einzelunternehmen), Inhaber Dominik Jürgens
Ringstraße 8, 26789 Leer (Ostfriesland), Deutschland
Für Rückfragen aus IT-Abteilungen: [email protected]
Weitere Angaben im Impressum und in der Datenschutzerklärung.
Stand dieser Angaben: Quellcode der Fassung 1.3.3. Vollständig
durchgesehen wurde 1.3.0 am 07.09.2026 — eigener Code, Installer-Skript
und die Aufrufe in die eingebundenen Bibliotheken; die Änderungen bis
1.3.2 sind am 16.09.2026 abgeglichen, ebenso die Angaben zur
Code-Signatur, zum Bezugsweg und die Zeile zu %TEMP%; die
Änderungen zu 1.3.3 am 21.09.2026. Die Aufteilung der signierten Dateien
ist an 1.3.2 gezählt. Die Zertifikatsangaben liest die Seite bei jedem
Aufruf aus dem aktuellen Installer. Ändert sich das
Verhalten in einer späteren Fassung, wird diese Seite angepasst; der
Versionsverlauf nennt jede Änderung.