Audit date: 2026-07-27
Source baseline: main at 74d3bee6d9500e4a56f0062ec34b9c36d0443d42
Runtime measurement commit: 727060fb03ad76d752d413db41bfa5d5132e3dc8
This report separates source repository publication from future official binary distribution. It does not change repository visibility, delete releases or tags, modify GitHub settings, or authorize application binaries.
| Distribution step | Status | Reason |
|---|---|---|
| Keep developing and testing privately | Ready | Source, CI, measurements, physical validation, and packaging evidence are present |
| Publish the source tree | Ready after this documentation branch is merged | The MIT license, security policy, generic configuration naming, and source installation guidance are present |
| Make the GitHub repository public | Pending final manual GitHub actions | Remove the obsolete v0.2.0 and v0.3.0 release entries after explicit confirmation, then enable the selected public security controls and verify the repository while signed out |
| Publish official app binaries | Not ready | Developer ID signing, hardened runtime, notarization, stapling, clean-machine tests, checksums, and public download verification remain incomplete |
- License: MIT.
- Copyright notice:
Copyright (c) 2026 Denis Kulman. - The historical commit email
kulmand@post.bgu.ac.ilis accepted for public disclosure. - Git history will not be rewritten.
- The historical personal configuration filename does not require a history rewrite. Its contents were ordinary settings, not a credential.
- Current configuration names must remain generic.
- Obsolete ad-hoc application binaries must not be presented as current or official downloads.
- No API key, access token, password, private key, certificate, provisioning
profile, Apple credential,
.envfile, personal home path, phone number, personal address, user configuration, tracked build cache, tracked.DS_Store, log, crash dump, or release binary was found in the tracked tree. .build/,dist/,DerivedData/,.swiftpm/, and.DS_Storeare ignored.- No runtime networking, telemetry, updater, login-item, or launch-agent API was identified. Documentation references those terms only to state their absence.
Package.swiftdeclares no external Swift package dependency. Runtime imports are Apple system frameworks.- No vendored third-party source, third-party image, copied license header, or acknowledgement requirement was identified.
Pattern and Git-object scans reduce risk but cannot prove that no unknown secret format exists. Dependabot alerts are enabled. Secret scanning and code scanning were not enabled at the time of this update.
- Root
LICENSEcontains the canonical MIT License with the owner-selected holder and year. - Root
SECURITY.mdsupports the latestmainsource, rejects public vulnerability disclosure, directs future reports to GitHub private vulnerability reporting once enabled, and directs ordinary bugs to Issues. - GitHub should detect the MIT License after this branch is merged into
main.
- The editable default configuration is
config/defaults.json. - App build scripts copy it as
Contents/Resources/defaults.json. - Generated compiled defaults are checked against the same neutral file.
- The runtime user configuration remains
~/Library/Application Support/mx3-lite/config.json. - Packaging excludes the user-specific runtime configuration.
- No tracked owner home path or active owner-specific configuration filename exists.
- Current-tree matches for the retired app resource name are negative CI checks that reject it.
Historical commits and tags still contain the retired personal configuration filename. The owner has accepted that history, so no rewrite is required.
The release assets were downloaded and re-inspected on 2026-07-27. Their GitHub digests matched the downloaded files.
| Release | Exact assets | Finding | Recommendation |
|---|---|---|---|
v0.2.0 |
mx3-lite-v0.2.0.zip; mx3-lite-v0.2.0.zip.sha256 |
The source ZIP contains the retired personal configuration filename and predates the final candidate | Delete the GitHub release entry and both assets; retain tag v0.2.0 |
v0.3.0 |
mx3-lite-app-v0.3.0.zip; mx3-lite-app-v0.3.0.zip.sha256; mx3-lite-source-v0.3.0.zip; mx3-lite-source-v0.3.0.zip.sha256 |
The source ZIP contains the retired personal configuration filename; the app ZIP is ad-hoc signed, thin arm64, has no Team ID, contains the retired app resource name, and fails Gatekeeper assessment |
Delete the GitHub release entry and all four assets; retain tag v0.3.0 |
The README no longer links to releases/latest or presents either release as a
current download. It recommends installation from the current source until an
official signed and notarized release exists.
Deletion is intentionally pending explicit owner confirmation. These commands delete the release entries and their assets without deleting the Git tags:
gh release delete v0.2.0 \
--repo KulmanD/Mx-Master-3-For-mac-lightweight-swiftBased --yes
gh release delete v0.3.0 \
--repo KulmanD/Mx-Master-3-For-mac-lightweight-swiftBased --yesDo not add --cleanup-tag; the v0.2.0 and v0.3.0 tags must remain.
- No Swift runtime source or configuration behavior changes in this publication branch.
- The release helper remains 433,528 bytes with a 212,992-byte
__TEXTsegment. - One controlled 150.086-second idle run recorded zero CPU-time and wakeup growth, two stable threads, flat RSS and physical footprint, zero sockets, and zero normal-mode log files.
- One MX Master 3S on macOS 26.5.1 passed the maintainer-run gesture, button, scrolling, trackpad, reconnect, power-cycle, sleep/wake, and lifecycle matrix.
- Source and app archive scripts exclude user config, tests, performance probes, build caches, Git metadata, and personal paths.
- Separate Apple Silicon and Intel validation packages build successfully.
- The source sharing archive includes
LICENSEafter this branch change.
Before changing repository visibility:
- Merge this source-publication PR after all required checks pass.
- Confirm and delete the obsolete
v0.2.0andv0.3.0release entries using the exact commands above. Retain all Git tags. - Review the two open Dependabot action-major PRs independently; they are not part of this publication change.
- Review public issues, pull requests, Actions logs, artifacts, tags, and release history for presentation context.
At and immediately after the visibility change:
- Change visibility only through the repository owner's GitHub settings.
- Enable private vulnerability reporting and confirm the Report a vulnerability route is visible.
- Enable secret scanning and push protection where the account plan supports them.
- Enable code scanning if the owner wants an additional automated security gate.
- Confirm GitHub detects the MIT License.
- Verify README links, badges, source access, issue/report routes, tags, and the absence of obsolete release downloads while signed out in a private browser window.
Optional presentation work includes adding the native-app and performance
topics, setting a repository-owned social preview, adding a contribution guide,
and adding issue and pull request templates.
| Control | State on 2026-07-27 | Publication action |
|---|---|---|
| Repository visibility | Private | Change manually only after the pre-publication checklist is complete |
| Main protection | Active Protect main ruleset; pull request required; deletion and non-fast-forward updates blocked; swift, release-archives (arm64), and release-archives (x86_64) required |
Keep |
| Dependabot version updates | Controlled weekly configuration for GitHub Actions and Swift packages | Keep |
| Dependabot alerts | Enabled; no open alerts observed | Keep |
| Secret scanning | Disabled | Enable at publication where supported |
| Code scanning | Disabled | Enable if desired as an additional gate |
| Private vulnerability reporting | Not enabled | Enable when the repository becomes public |
| Actions token permissions | Read-only by default | Keep |
| Actions runtime | actions/checkout@v4 and actions/upload-artifact@v4 remain on main; major-update PRs #43 and #42 are open with passing CI |
Review separately from this PR |
Official application binaries remain blocked on all of the following:
- Apple Developer Program membership.
- A Developer ID Application certificate.
- Final Apple Silicon and Intel builds from the selected release commit.
- Developer ID signing of the helper, settings executable, and app with the hardened runtime.
- Apple notarization of the final archives.
- Stapling and validation of the notarization ticket.
- Gatekeeper verification from fresh archive extractions.
- Clean-machine functional testing on Apple Silicon.
- Clean-machine functional testing on Intel.
- Final SHA-256 checksum generation and verification.
- Signed-out download and first-launch verification.
The historical v0.3.0 app ZIP is not a substitute for these steps. No binary should be published as official until every item is complete.
After this branch is merged, the current source tree is ready for publication under the MIT License. The repository must remain private until the obsolete release entries receive explicit deletion approval and the remaining manual GitHub publication actions are completed. Official binary distribution remains separately blocked.