Skip to content
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,12 @@ SightAdapt is general-purpose accessibility and display-personalization software

`Color correction` and `visual correction` refer to display presentation, not clinical vision correction. The project does not claim clinical effectiveness or target a named medical condition. See the controlled [intended-purpose and medical-device claims policy](docs/legal/INTENDED-PURPOSE-AND-MDR.md).

## Third-party names and protected content

Third-party product names and trademarks belong to their respective owners and are used only to identify applications selected or configured by the user. SightAdapt is not affiliated with, sponsored by or endorsed by Microsoft or those owners unless an explicit written relationship is identified.

SightAdapt does not circumvent DRM or other access controls. Protected content may remain unavailable, blank or unfilterable. Compatibility statements describe observed technical behavior and do not imply partnership, certification or support from a third party. See [the complete third-party names, affiliation and protected-content policy](docs/legal/THIRD-PARTY-NAMES-AFFILIATION-AND-DRM.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.
Expand Down Expand Up @@ -95,6 +101,7 @@ 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\THIRD-PARTY-NAMES-AND-DRM-NOTICE.txt
artifacts\win-x64\DEPENDENCIES.md
artifacts\win-x64\SBOM.spdx.json
artifacts\win-x64\LICENSE-REPORT.json
Expand All @@ -107,14 +114,16 @@ Create and validate the final archive according to [the binary packaging standar

- [Product identity and brand usage](docs/BRAND.md)
- [Intended purpose and medical-device claims policy](docs/legal/INTENDED-PURPOSE-AND-MDR.md)
- [Third-party names, affiliation and protected-content policy](docs/legal/THIRD-PARTY-NAMES-AFFILIATION-AND-DRM.md)
- [Release naming and attribution](docs/RELEASING.md)
- [Binary packaging standard](docs/PACKAGING.md)
- [Complete functionality](docs/FEATURES.md)
- [Current architecture](docs/ARCHITECTURE.md)
- [Build and package a standalone EXE](docs/BUILD.md)
- [Privacy notice and support-data policy](PRIVACY.md)
- [Dependency inventory](DEPENDENCIES.md)
- [Third-party notices](THIRD-PARTY-NOTICES.txt)
- [Third-party software notices](THIRD-PARTY-NOTICES.txt)
- [Third-party names and DRM notice](THIRD-PARTY-NAMES-AND-DRM-NOTICE.txt)
- [Microsoft .NET redistribution notice](DOTNET-LICENSE-NOTICE.txt)
- [Documentation index](docs/README.md)
- [Security policy](SECURITY.md)
Expand Down
45 changes: 45 additions & 0 deletions THIRD-PARTY-NAMES-AND-DRM-NOTICE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
SIGHTADAPT THIRD-PARTY NAMES, AFFILIATION AND PROTECTED-CONTENT NOTICE

Last reviewed: 2026-07-29
Publisher: KeyffMS / aiteracja.pl

1. Third-party names and trademarks

Third-party product names, company names, service names, trademarks and other marks are the property of their respective owners. SightAdapt uses a third-party application name, executable name, file description or path only to identify an application selected or configured by the user.

Use of a name does not claim ownership of that name or mark. Unless an explicit written relationship is identified, SightAdapt is not affiliated with, sponsored by, certified by or endorsed by Microsoft or by the owner, publisher or developer of a user-selected application.

Microsoft, Windows and .NET are trademarks of the Microsoft group of companies. Their names identify the operating-system platform, runtime components or technical compatibility only.

2. Compatibility statements

Product-controlled materials may use neutral factual wording such as:

- "works with user-selected Windows applications";
- "compatible with supported Windows application windows";
- "uses Windows Magnification API";
- "applies an overlay to an application selected by the user".

Do not use wording such as "official integration", "partner", "approved by", "certified by", "supported by" or similar language that implies a commercial, technical or endorsement relationship unless a current written agreement authorizes that statement.

Compatibility statements describe observed technical behavior, not a guarantee from the third-party application owner. Application updates, protected surfaces, permissions or graphics behavior may affect compatibility.

3. Logos, icons and trade dress

SightAdapt does not require third-party logos, branded icons, screenshots, trade dress or other protected brand assets to identify a configured application. Do not include such material in SightAdapt-controlled documentation, store listings, promotional assets or packages without permission or another documented lawful basis.

A user's local operating system may display metadata or an icon associated with an application. That local identification does not make the asset part of the SightAdapt brand and must not be reused in project-controlled marketing without review.

4. DRM, protected content and access controls

SightAdapt is not intended to circumvent, disable, avoid or interfere with digital-rights management (DRM), protected-content restrictions, authentication, licensing checks, encryption or other access controls.

SightAdapt uses operating-system display and magnification facilities to render an overlay for content that Windows makes available to that mechanism. It does not grant access to content, remove usage restrictions or alter authorization decisions made by Windows or a third-party application.

Protected or DRM-controlled content may remain unavailable, blank, excluded, unfilterable or otherwise unaffected. SightAdapt does not promise compatibility with protected content and must not be represented as a means of bypassing technical restrictions.

5. Distribution and reuse

Keep this notice with every SightAdapt binary distribution and relevant store or directory description. A downstream distributor must preserve this notice and must not add third-party endorsement claims, unauthorized brand assets or DRM-circumvention statements.

This notice complements, and does not replace, the exact third-party software notices, Microsoft .NET terms, SightAdapt trademark record and other package legal documents.
21 changes: 19 additions & 2 deletions docs/BRAND.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,20 @@ SightAdapt is positioned as general-purpose accessibility and display-personaliz

All website, README, release, store, directory, screenshot, support and social copy must follow [the intended-purpose and medical-device claims policy](legal/INTENDED-PURPOSE-AND-MDR.md). A disclaimer cannot be used to contradict an actual medical purpose communicated elsewhere.

## Third-party names, affiliation and compatibility

Third-party product names and trademarks belong to their respective owners and may be used only as needed to identify an application selected/configured by the user or to state factual compatibility. Such use does not imply ownership, partnership, certification, sponsorship or endorsement.

Unless a written relationship expressly provides otherwise, state or remain consistent with:

> SightAdapt is not affiliated with, sponsored by, certified by or endorsed by Microsoft or by the owners of user-selected applications.

Preferred factual phrases include `works with`, `compatible with supported application windows` and `tested with <product/version>`. Do not use `official integration`, `partner`, `approved by`, `certified by` or similar relationship language without written authorization.

Do not use third-party logos, branded icons, trade dress or promotional artwork in SightAdapt-controlled branding, screenshots, listings or packages without permission or another documented lawful basis. Compatibility wording and assets must follow [the third-party names, affiliation and protected-content policy](legal/THIRD-PARTY-NAMES-AFFILIATION-AND-DRM.md).

SightAdapt is not intended to circumvent DRM, protected-content restrictions or access controls. Protected content may remain unavailable, blank or unfilterable; this must be described as a limitation, never as a restriction to bypass.

## Publisher wording

Use this exact publisher identity in product-controlled metadata and public attribution:
Expand Down Expand Up @@ -87,6 +101,7 @@ The GitHub repository is the canonical source-code URL:
- Link to the canonical product website and repository.
- Include the required public notice in a brand or legal section.
- Keep claims within the approved general-purpose intended purpose.
- Include the third-party affiliation/DRM notice where compatibility is discussed.

### Application UI

Expand All @@ -95,6 +110,7 @@ The GitHub repository is the canonical source-code URL:
- Display `Publisher: KeyffMS / aiteracja.pl`.
- Link to the canonical website and source repository.
- Do not add clinical or condition-specific claims without renewed regulatory review.
- Do not add third-party names, logos or relationship claims to the About surface without review.

### Releases and stores

Expand All @@ -103,13 +119,14 @@ The GitHub repository is the canonical source-code URL:
- Begin release notes with the canonical one-line description.
- Include the canonical product website, repository, publisher, license, and unregistered-mark notice.
- Do not select a medical-device category or target a named condition under the current positioning.
- Use neutral compatibility wording and include the lack-of-affiliation/DRM summary when naming third-party applications.

### Website

- Use the supplied SVG lockup containing `™` for the most prominent identity.
- Use plain `SightAdapt` in repetitive navigation and accessible names when that improves screen-reader output.
- Use the canonical URL in canonical tags, structured data, sitemaps, downloads, and directory references.
- Review rendered copy, metadata, screenshots, testimonials and download descriptions against the intended-purpose policy before publication.
- Review rendered copy, metadata, screenshots, testimonials and download descriptions against the intended-purpose and third-party-names policies before publication.

## Brand assets

Expand All @@ -121,4 +138,4 @@ Do not stretch, skew, rotate, recolor, or remove the `™` notation from the sup

## Change control

Changes to the product name, canonical descriptions, publisher attribution, intended purpose, medical positioning, trademark notation, website URL or primary brand assets must update this document first. Dependent README, UI, release, website, store and directory text must be updated in the same change or tracked explicitly.
Changes to the product name, canonical descriptions, publisher attribution, intended purpose, medical positioning, third-party compatibility/affiliation wording, trademark notation, website URL or primary brand assets must update this document first. Dependent README, UI, release, website, store and directory text must be updated in the same change or tracked explicitly.
39 changes: 24 additions & 15 deletions docs/PACKAGING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Every package must place the following files at the package root so they can be
| `DOTNET-LICENSE-NOTICE.txt` | Exact-version Microsoft .NET license text and source metadata |
| `DOTNET-NOTICE-METADATA.json` | Machine-readable SDK, runtime, RID, runtime-pack, source and checksum evidence |
| `MICROSOFT-DOTNET-REDISTRIBUTION.txt` | End-user and downstream-distributor conditions that keep Microsoft components separate from SightAdapt's MIT license |
| `THIRD-PARTY-NAMES-AND-DRM-NOTICE.txt` | Third-party mark ownership, lack of affiliation/endorsement and protected-content/DRM limitations |
| `DEPENDENCIES.md` | Human-readable inventory generated from the evaluated dependency list |
| `SBOM.spdx.json` | SPDX 2.3 component and shipped-file inventory |
| `LICENSE-REPORT.json` | Automated dependency-license policy result |
Expand All @@ -40,11 +41,11 @@ The same legal-document bundle is required for:

Installers and store packages may additionally display or register legal information through platform-specific metadata, but that does not replace including the files in the installed or unpacked application directory.

Release mirrors must copy the verified archive without removing, renaming or replacing the legal files. A downstream distributor may redistribute Microsoft components only as part of an intact SightAdapt application package and must preserve terms that protect the Microsoft distributable code at least as much as the applicable Microsoft agreement.
Release mirrors must copy the verified archive without removing, renaming or replacing the legal files. A downstream distributor may redistribute Microsoft components only as part of an intact SightAdapt application package and must preserve terms that protect the Microsoft distributable code at least as much as the applicable Microsoft agreement. It must also preserve the third-party names/DRM notice and must not add unauthorized endorsement or circumvention claims.

## Publish behavior

`src/SightAdapt/SightAdapt.csproj` copies the legal baseline and redistribution notice into the publish directory. `tools/generate-dotnet-notices.ps1` replaces the baseline .NET files with exact-version material. `tools/generate-sbom.ps1` then evaluates dependency licenses and generates `DEPENDENCIES.md`, `SBOM.spdx.json` and `LICENSE-REPORT.json` before packaging.
`src/SightAdapt/SightAdapt.csproj` copies the legal baseline, redistribution notice and third-party names/DRM notice into the publish directory. `tools/generate-dotnet-notices.ps1` replaces the baseline .NET files with exact-version material. `tools/generate-sbom.ps1` then evaluates dependency licenses and generates `DEPENDENCIES.md`, `SBOM.spdx.json` and `LICENSE-REPORT.json` before packaging.

The expected publish layout begins with:

Expand All @@ -56,6 +57,7 @@ artifacts/win-x64/
├── DOTNET-LICENSE-NOTICE.txt
├── DOTNET-NOTICE-METADATA.json
├── MICROSOFT-DOTNET-REDISTRIBUTION.txt
├── THIRD-PARTY-NAMES-AND-DRM-NOTICE.txt
├── DEPENDENCIES.md
├── SBOM.spdx.json
├── LICENSE-REPORT.json
Expand Down Expand Up @@ -105,6 +107,12 @@ The notice generator obtains the matching official .NET SDK ZIP through Microsof

The reviewed redistribution position is documented in [Microsoft .NET redistribution analysis](legal/DOTNET-REDISTRIBUTION.md). `MICROSOFT-DOTNET-REDISTRIBUTION.txt` implements the recipient and downstream-distributor notice in each binary package. See also [Exact-version .NET notice generation](legal/DOTNET-NOTICE-GENERATION.md).

## Third-party names and protected content

`THIRD-PARTY-NAMES-AND-DRM-NOTICE.txt` is the package notice for third-party mark ownership, identification-only use, lack of affiliation/endorsement, neutral compatibility wording and the fact that SightAdapt does not circumvent DRM or access controls. Protected content may remain unavailable or unfilterable.

See [Third-party names, affiliation and protected-content policy](legal/THIRD-PARTY-NAMES-AFFILIATION-AND-DRM.md).

## SBOM and license review

`release/dependency-policy.json` records the reviewed component versions, suppliers, sources, scopes and license decisions. `tools/generate-sbom.ps1` combines that policy with the actual restore graph, project references, workflow actions, .NET notice metadata and final publish files.
Expand All @@ -123,16 +131,17 @@ Before publishing or mirroring a binary package:

1. verify the pinned release metadata;
2. verify the Microsoft .NET redistribution analysis and package notice;
3. restore, build and run the maintained project checks;
4. publish into a clean staging directory;
5. generate exact-version .NET notices from the hash-verified official SDK package and actual restore graph;
6. generate the SPDX SBOM, license report and human-readable dependency inventory;
7. resolve every component or license-policy failure;
8. confirm the deliberately incomplete package is rejected;
9. create the final archive or platform package;
10. run `verify-release-compliance.ps1` against the staged directory and final package;
11. retain and publish the compliance report with the package;
12. inspect the package manually to confirm that every legal document opens without running SightAdapt;
13. publish the same verified bytes to every official mirror.

Do not publish an official binary release when the legal bundle, redistribution notice, exact-version generation, SBOM, license report, package checksum, runtime mapping or final compliance gate is incomplete. Production or paid distribution additionally remains blocked until the qualified legal review required by Issue #93 is recorded.
3. review third-party compatibility wording and ensure the affiliation/DRM notice is included;
4. restore, build and run the maintained project checks;
5. publish into a clean staging directory;
6. generate exact-version .NET notices from the hash-verified official SDK package and actual restore graph;
7. generate the SPDX SBOM, license report and human-readable dependency inventory;
8. resolve every component or license-policy failure;
9. confirm the deliberately incomplete package is rejected;
10. create the final archive or platform package;
11. run `verify-release-compliance.ps1` against the staged directory and final package;
12. retain and publish the compliance report with the package;
13. inspect the package manually to confirm that every legal document opens without running SightAdapt;
14. publish the same verified bytes to every official mirror.

Do not publish an official binary release when the legal bundle, redistribution notice, third-party affiliation/DRM notice, exact-version generation, SBOM, license report, package checksum, runtime mapping or final compliance gate is incomplete. Production or paid distribution additionally remains blocked until the qualified legal review required by Issue #93 is recorded.
Loading
Loading