diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a8c27efe..0053ad99 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,7 +32,9 @@ Create a self-contained executable with the steps in [docs/BUILD.md](docs/BUILD. - keep changes focused; - describe Windows versions and DPI configurations tested; -- do not add DLL injection, kernel drivers, or screen-content telemetry; +- do not add DLL injection or kernel drivers; +- do not add telemetry, analytics, remote crash reporting, automatic diagnostic upload, update checks, cloud synchronization or another network/data-collection feature without completing the privacy review defined in [PRIVACY.md](PRIVACY.md); +- update `PRIVACY.md` in the same pull request when local processing, network behavior, support-data handling or retention changes; - preserve the emergency overlay shutdown path; - document known limitations; - include manual test steps for visual or input-related changes; @@ -49,4 +51,4 @@ Include: - exact steps to reproduce; - whether the emergency tray command still worked. -Do not attach screenshots containing private information. +Before attaching paths, settings, logs, screenshots or recordings, follow the redaction and private-reporting guidance in [PRIVACY.md](PRIVACY.md). Do not publish passwords, tokens, confidential documents, personal paths or screenshots containing unrelated private information. For sensitive material, contact the repository owner through GitHub and request a private communication channel first. diff --git a/PRIVACY.md b/PRIVACY.md index 7c28c194..9963e054 100644 --- a/PRIVACY.md +++ b/PRIVACY.md @@ -1,31 +1,40 @@ -# SightAdapt privacy notice +# SightAdapt privacy notice and support-data policy Last updated: 2026-07-29 -This notice describes the data behavior of the SightAdapt Windows application distributed from this repository. +This notice describes the data behavior of the SightAdapt Windows application distributed from this repository and the handling of information voluntarily submitted for support. ## Summary -SightAdapt processes application and window information locally to apply the visual profile selected by the user. The current application does not include analytics, advertising, account registration, cloud synchronization, remote crash reporting or automatic telemetry. +SightAdapt processes application, process and window information locally to apply visual settings selected by the user. The current application does not include telemetry, analytics, advertising, account registration, cloud synchronization, remote crash reporting, automatic diagnostic upload or an automatic update check. -SightAdapt does not intentionally transmit captured screen content, saved assignments or visual-profile settings to the publisher or another service. +SightAdapt does not intentionally transmit captured screen content, saved application assignments, executable paths, settings or visual-profile data to the publisher or another SightAdapt service. + +The only current network-related action controlled by SightAdapt is opening a website or repository link in the user's default browser after the user activates that link. The browser and destination service then operate under their own privacy terms. ## Data processed locally -To select and render the configured correction, SightAdapt processes local Windows information such as: +To identify the active application and render the configured overlay, SightAdapt may read or derive local Windows information including: + +- active and visible top-level window handles; +- process identifiers and GUI thread identifiers; +- application display names; +- executable file names and full executable paths; +- executable file-description metadata where Windows makes it available; +- window position, size, monitor, visibility and foreground state; +- saved application assignments and enabled states; +- selected application and popup-menu visual profiles; +- overlay-scope settings; +- user-defined profile names and adjustment values; +- local diagnostic messages generated when an operation fails. -- the active top-level window and its handle; -- the target process identifier; -- application display name; -- executable name and executable path; -- window position, size, monitor and visibility state; -- saved visual profiles, application assignments and overlay-scope settings. +A full executable path can contain a person's user-account name, organization name, project name or another identifying value. This information is used locally for matching saved application assignments. -This processing occurs on the user's computer. SightAdapt uses a separate Windows Magnification API overlay and does not intentionally modify the target application's files or process memory. +SightAdapt uses a separate Windows Magnification API overlay. It does not intentionally modify a target application's files or process memory. ## Local storage -SightAdapt stores settings in: +SightAdapt stores its settings at: ```text %LOCALAPPDATA%\SightAdapt\settings.json @@ -33,30 +42,114 @@ SightAdapt stores settings in: The file can contain application display names, executable names and paths, enabled states, selected visual-profile identifiers, overlay scopes and user-defined visual-profile parameters. -Settings remain on the computer until they are changed in SightAdapt or the settings file is deleted by the user. Deleting the file resets locally stored configuration on the next start. +### Inspect and export + +`settings.json` is a human-readable JSON file. A user can inspect it with a text editor. To export or back it up, close SightAdapt or avoid changing settings while copying the file to another location. + +### Delete and reset + +To delete locally stored SightAdapt configuration: + +1. exit SightAdapt; +2. delete `%LOCALAPPDATA%\SightAdapt\settings.json`; +3. start SightAdapt again if required. + +The application recreates default settings when no settings file exists. Deleting the file does not delete information separately submitted through GitHub, email or another support service. ## Screen content -SightAdapt uses Windows display and Magnification APIs to render corrected content in an overlay. The application does not intentionally save screenshots, record the screen, build a screen-content history or send screen content over a network. +SightAdapt uses Windows display and Magnification APIs to render corrected content in an overlay. The current application does not intentionally: + +- save screenshots; +- record the screen; +- build a screen-content history; +- perform image recognition or content analysis; +- transmit screen content over a network. + +Protected or DRM-controlled content may remain unavailable or unfilterable. + +## Telemetry, diagnostics and network behavior + +The current release has: + +- no telemetry or product analytics; +- no advertising or tracking SDK; +- no remote crash-reporting service; +- no automatic log or settings upload; +- no account or cloud synchronization; +- no automatic update check; +- no background connection to a SightAdapt server. + +Runtime warnings and errors are handled locally. The application does not automatically submit them to the publisher. + +## Information submitted for support + +Information is transferred to the project owner only when a person voluntarily includes it in a GitHub issue, discussion, security report, direct message or another support communication. -## Network access and external links +Executable paths, screenshots, videos, settings files, logs and crash details can reveal personal, confidential or security-sensitive information. Before submitting support material: -SightAdapt does not automatically contact a SightAdapt server. The About window contains user-activated links to the product website and source repository. Selecting one of those links opens the system's default browser, whose privacy behavior is governed by the browser and destination site. +- replace user names, organization names, project names and private directory names with neutral placeholders; +- remove unrelated windows, notifications, browser tabs, documents and account details from screenshots or recordings; +- do not publish passwords, tokens, private keys, license keys or confidential customer information; +- share the smallest excerpt needed to reproduce the problem; +- review `settings.json` before attaching it and remove unrelated application assignments and paths; +- use a private channel for security-sensitive or personal information instead of a public issue. -## Diagnostics +A public issue should contain a minimal reproduction and redacted technical details. When private communication is needed and no dedicated private support address is published, contact the repository owner through GitHub and request a private communication channel before sending the material. -Runtime warnings and errors are handled locally. The current application does not automatically upload logs or crash reports. Information manually included by a user in a GitHub issue or another support request is provided voluntarily and is subject to the privacy terms of the service used to submit it. +## Controller and contact for submitted support data + +When support material is received directly by the project publisher, the responsible controller is: + +**KeyffMS / aiteracja.pl** + +Current contact route: + +- GitHub repository owner and issue tracker: `https://github.com/KeyffMS/SightAdapt`; +- for non-public material, contact the repository owner through GitHub and request a private communication channel before sending data. + +GitHub and any other service used to submit information operate as separate service providers or controllers under their own terms and privacy notices. + +## Retention and deletion of support material + +Public GitHub issues, comments and attachments remain subject to GitHub's platform controls and repository history. Contributors should not submit personal or confidential material publicly when deletion from forks, notifications, caches or archives cannot be guaranteed. + +Privately submitted support material is handled under the following project policy: + +- access is limited to the people needed to investigate the report; +- material is used only for support, security investigation, compliance evidence or resolving the reported problem; +- unnecessary copies should not be created; +- material is deleted when it is no longer needed and normally no later than 90 days after the related support matter is closed; +- a longer period may be used when required for an active security investigation, legal obligation, dispute or explicitly agreed follow-up; +- a deletion request can be made through the same private contact route used to submit the material; +- deletion applies to copies controlled by the project owner where deletion is technically and legally possible; it cannot guarantee deletion by an independent platform, recipient, fork, backup or archive. + +The project does not use privately submitted support data for advertising or unrelated profiling. ## Operating-system and runtime components -SightAdapt depends on Microsoft Windows and redistributes Microsoft .NET runtime components. Those components are governed by their applicable licenses and privacy terms. See `DOTNET-LICENSE-NOTICE.txt`, `THIRD-PARTY-NOTICES.txt` and `DEPENDENCIES.md` in the binary package. +SightAdapt depends on Microsoft Windows and redistributes Microsoft .NET runtime components. Those components are governed by their applicable licenses and privacy terms. See `DOTNET-LICENSE-NOTICE.txt`, `THIRD-PARTY-NOTICES.txt`, `MICROSOFT-DOTNET-REDISTRIBUTION.txt`, `DEPENDENCIES.md` and the SBOM in the binary package. -## Changes to this notice +## Privacy review requirement + +A pull request must receive a privacy review and update this notice before introducing or materially changing any of the following: -A change that introduces telemetry, network services, cloud synchronization, remote diagnostics or another material data flow must update this notice before that feature is distributed. +- telemetry or analytics; +- remote crash reporting; +- automatic diagnostic, settings, screenshot or log upload; +- an update service or automatic network check; +- cloud synchronization, accounts or authentication; +- remote configuration or feature flags; +- collection of new identifiers or persistent usage history; +- a new external service, tracking SDK or network endpoint; +- a new support-data collection or retention practice. -## Contact and source review +The review must identify data categories, purpose, destinations, user control, retention, security, notices and any consent or legal-basis requirements before the feature is merged or distributed. -The source code and issue tracker are available at: +## Consistency of product claims + +README, release notes, store descriptions, website copy and application-facing descriptions must not claim broader data collection or stronger privacy guarantees than the implemented behavior. Statements such as "no telemetry" apply only while the application remains consistent with this notice. + +## Changes to this notice -https://github.com/KeyffMS/SightAdapt +Material changes to local processing, network behavior or support-data handling must update this file before release. The package copy of `PRIVACY.md` is readable without starting SightAdapt. diff --git a/README.md b/README.md index a5e95c2e..b516784f 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,12 @@ New application assignments use Soft Invert, inherit that profile for native pop Emergency shutdown is available from the notification-area menu. +## Privacy + +SightAdapt processes window, process and executable information locally and stores configuration in `%LOCALAPPDATA%\SightAdapt\settings.json`. The current release has no telemetry, analytics, remote crash reporting, automatic diagnostic upload, account/cloud synchronization or automatic update check. Product and repository links open only after user action. + +Executable paths, settings, logs and screenshots can contain personal or confidential information. Redact them before publishing a support report and request a private channel from the repository owner before sending sensitive material. See the complete [privacy notice and support-data policy](PRIVACY.md). + ## Build a standalone EXE The application can be published as a self-contained single-file executable. It does not need to be started with `dotnet run`, and the target computer does not need a separately installed .NET runtime. @@ -74,14 +80,18 @@ dotnet publish .\src\SightAdapt\SightAdapt.csproj ` --output .\artifacts\win-x64 ``` -The publish directory contains `SightAdapt.exe` and the legal-document bundle required for binary distribution: +The publish directory contains `SightAdapt.exe` and the legal/compliance bundle required for binary distribution, including: ```text artifacts\win-x64\SightAdapt.exe artifacts\win-x64\LICENSE.txt artifacts\win-x64\THIRD-PARTY-NOTICES.txt artifacts\win-x64\DOTNET-LICENSE-NOTICE.txt +artifacts\win-x64\DOTNET-NOTICE-METADATA.json +artifacts\win-x64\MICROSOFT-DOTNET-REDISTRIBUTION.txt artifacts\win-x64\DEPENDENCIES.md +artifacts\win-x64\SBOM.spdx.json +artifacts\win-x64\LICENSE-REPORT.json artifacts\win-x64\PRIVACY.md ``` @@ -95,7 +105,7 @@ Create and validate the final archive according to [the binary packaging standar - [Complete functionality](docs/FEATURES.md) - [Current architecture](docs/ARCHITECTURE.md) - [Build and package a standalone EXE](docs/BUILD.md) -- [Privacy notice](PRIVACY.md) +- [Privacy notice and support-data policy](PRIVACY.md) - [Dependency inventory](DEPENDENCIES.md) - [Third-party notices](THIRD-PARTY-NOTICES.txt) - [Microsoft .NET redistribution notice](DOTNET-LICENSE-NOTICE.txt) @@ -121,4 +131,4 @@ The product identity is always written as `SightAdapt`. The first or most promin SightAdaptâ„¢ is an unregistered product mark used by KeyffMS / aiteracja.pl. -SightAdapt is licensed under the MIT License. See [LICENSE](LICENSE). Binary distributions include the same terms as `LICENSE.txt` together with the privacy, dependency and third-party notice files. +SightAdapt is licensed under the MIT License. See [LICENSE](LICENSE). Binary distributions include the same terms as `LICENSE.txt` together with the privacy, dependency, SBOM, license-report and third-party notice files.