Merge pull request #41 from outis1one/claude/read-repo-YMu21

v0.9.4: Reveal mode fix, MIT license, test suite CSP fix
This commit is contained in:
Outis
2026-03-28 21:21:50 -04:00
committed by GitHub
7 changed files with 44 additions and 57 deletions
+34 -48
View File
@@ -1,72 +1,58 @@
Business Source License 1.1 MIT License
Licensor: Silent Send Contributors Copyright (c) 2026 Silent Send Contributors
Licensed Work: Silent Send browser extension
Change Date: March 26, 2030
Change License: MIT
Terms Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The Licensor hereby grants you the right to copy, modify, create The above copyright notice and this permission notice shall be included in all
derivative works, redistribute, and make non-production use of the copies or substantial portions of the Software.
Licensed Work.
The Licensor hereby grants you the right to make production use of
the Licensed Work for personal, non-commercial purposes only.
Commercial use of the Licensed Work is not permitted under this
license. This includes use by or on behalf of any organization,
business, or entity for revenue-generating purposes, internal
business operations, or as part of a commercial product or service.
Effective on the Change Date, the Licensor hereby grants you rights
under the terms of the Change License, and the rights granted above
terminate.
All copies of the original and modified Licensed Work, and
derivative works of the Licensed Work, are subject to this License.
DISCLAIMER OF WARRANTY DISCLAIMER OF WARRANTY
THE LICENSED WORK IS PROVIDED "AS IS" AND "AS AVAILABLE", WITHOUT THE SOFTWARE IS PROVIDED "AS IS" AND "AS AVAILABLE", WITHOUT WARRANTY
WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
PURPOSE, NONINFRINGEMENT, ACCURACY, COMPLETENESS, OR RELIABILITY. NONINFRINGEMENT.
THE LICENSOR DOES NOT WARRANT THAT THE LICENSED WORK WILL: THE AUTHORS AND CONTRIBUTORS DO NOT WARRANT THAT THE SOFTWARE WILL:
(A) DETECT, INTERCEPT, OR SUBSTITUTE ALL PERSONAL INFORMATION, (A) DETECT, INTERCEPT, OR SUBSTITUTE ALL PERSONALLY IDENTIFIABLE
SECRETS, CREDENTIALS, OR SENSITIVE DATA IN ALL CIRCUMSTANCES; INFORMATION, SECRETS, CREDENTIALS, OR SENSITIVE DATA IN ALL
CIRCUMSTANCES;
(B) FUNCTION CORRECTLY ON ALL WEBSITES, SERVICES, OR PLATFORMS, (B) FUNCTION CORRECTLY ON ALL WEBSITES, SERVICES, OR PLATFORMS,
INCLUDING AFTER THIRD-PARTY CHANGES TO THEIR INTERFACES, INCLUDING AFTER THIRD-PARTY CHANGES TO THEIR INTERFACES, APIs,
APIs, OR DATA FORMATS; OR DATA FORMATS;
(C) BE FREE OF ERRORS, BUGS, INTERRUPTIONS, OR SECURITY (C) BE FREE OF ERRORS, BUGS, INTERRUPTIONS, OR SECURITY
VULNERABILITIES; VULNERABILITIES;
(D) MEET ANY SPECIFIC PRIVACY, SECURITY, OR REGULATORY (D) MEET ANY SPECIFIC PRIVACY, SECURITY, OR REGULATORY REQUIREMENTS,
REQUIREMENTS, INCLUDING BUT NOT LIMITED TO GDPR, HIPAA, INCLUDING BUT NOT LIMITED TO GDPR, HIPAA, CCPA, PCI-DSS, OR ANY
CCPA, PCI-DSS, OR ANY OTHER DATA PROTECTION FRAMEWORK. OTHER DATA PROTECTION FRAMEWORK.
LIMITATION OF LIABILITY LIMITATION OF LIABILITY
IN NO EVENT SHALL THE LICENSOR, CONTRIBUTORS, OR DISTRIBUTORS BE IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS, CONTRIBUTORS, OR
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, DISTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
CONSEQUENTIAL, OR PUNITIVE DAMAGES (INCLUDING BUT NOT LIMITED TO EXEMPLARY, CONSEQUENTIAL, OR PUNITIVE DAMAGES (INCLUDING BUT NOT
LOSS OF DATA, LOSS OF PRIVACY, IDENTITY THEFT, UNAUTHORIZED LIMITED TO LOSS OF DATA, LOSS OF PRIVACY, IDENTITY THEFT, UNAUTHORIZED
DISCLOSURE OF PERSONAL INFORMATION, REGULATORY FINES OR PENALTIES, DISCLOSURE OF PERSONAL INFORMATION, REGULATORY FINES OR PENALTIES,
REPUTATIONAL HARM, LOSS OF BUSINESS, OR PROCUREMENT OF SUBSTITUTE REPUTATIONAL HARM, LOSS OF BUSINESS, OR PROCUREMENT OF SUBSTITUTE
SERVICES) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN SERVICES) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF OR INABILITY TO USE ARISING IN ANY WAY OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE,
THE LICENSED WORK, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
DAMAGES.
THIS LIMITATION APPLIES REGARDLESS OF WHETHER THE FAILURE RESULTS THIS LIMITATION APPLIES REGARDLESS OF WHETHER THE FAILURE RESULTS
FROM: (A) THIRD-PARTY CHANGES TO WEBSITES, APIs, OR SERVICES THAT FROM: (A) THIRD-PARTY CHANGES TO WEBSITES, APIs, OR SERVICES THAT
CAUSE THE LICENSED WORK TO MALFUNCTION OR FAIL SILENTLY; (B) USER CAUSE THE SOFTWARE TO MALFUNCTION OR FAIL SILENTLY; (B) USER
MISCONFIGURATION OR FAILURE TO VERIFY SUBSTITUTIONS; (C) PATTERNS, MISCONFIGURATION OR FAILURE TO VERIFY SUBSTITUTIONS; (C) PATTERNS,
FORMATS, OR DATA TYPES NOT RECOGNIZED BY THE LICENSED WORK; OR FORMATS, OR DATA TYPES NOT RECOGNIZED BY THE SOFTWARE; OR (D) ANY
(D) ANY OTHER CAUSE BEYOND THE LICENSOR'S REASONABLE CONTROL. OTHER CAUSE BEYOND THE AUTHORS' REASONABLE CONTROL.
THE LICENSED WORK IS A CONVENIENCE TOOL THAT REDUCES — BUT CANNOT THE SOFTWARE IS A CONVENIENCE TOOL THAT REDUCES — BUT CANNOT
ELIMINATE — THE RISK OF INADVERTENT DISCLOSURE OF PERSONAL ELIMINATE — THE RISK OF INADVERTENT DISCLOSURE OF PERSONAL
INFORMATION. USERS ARE SOLELY RESPONSIBLE FOR VERIFYING THAT INFORMATION. USERS ARE SOLELY RESPONSIBLE FOR VERIFYING THAT
SENSITIVE DATA HAS BEEN PROPERLY SUBSTITUTED BEFORE TRANSMISSION SENSITIVE DATA HAS BEEN PROPERLY SUBSTITUTED BEFORE TRANSMISSION
+1 -3
View File
@@ -565,13 +565,11 @@ Silent Send is provided "as is" and "as available" without warranty of any kind,
- Silent Send is not a substitute for professional data protection, legal compliance, or security tooling. It does not guarantee compliance with any regulation (GDPR, HIPAA, CCPA, PCI-DSS, or otherwise). - Silent Send is not a substitute for professional data protection, legal compliance, or security tooling. It does not guarantee compliance with any regulation (GDPR, HIPAA, CCPA, PCI-DSS, or otherwise).
- No contributor, maintainer, or distributor of Silent Send shall be liable for any damages arising from its use, including but not limited to privacy breaches, identity theft, data exposure, or regulatory penalties — whether caused by software bugs, third-party changes, misconfiguration, or any other reason. - No contributor, maintainer, or distributor of Silent Send shall be liable for any damages arising from its use, including but not limited to privacy breaches, identity theft, data exposure, or regulatory penalties — whether caused by software bugs, third-party changes, misconfiguration, or any other reason.
Commercial licensees: a commercial license grants the right to use Silent Send in a commercial context. It does not create additional warranties, indemnification, or liability obligations beyond those stated in the license agreement.
The source code is available for inspection — you don't have to take our word for it. The source code is available for inspection — you don't have to take our word for it.
## License ## License
[Business Source License 1.1](LICENSE) — free for personal, non-commercial use only. Commercial use is not permitted. The code converts to MIT on March 26, 2030. [MIT License](LICENSE) — free to use, modify, and distribute. See the LICENSE file for the full disclaimer of warranty and limitation of liability.
Contributions welcome. If you find a bug, especially a privacy-related one, please [open an issue](https://github.com/outis1one/silent-send/issues). Contributions welcome. If you find a bug, especially a privacy-related one, please [open an issue](https://github.com/outis1one/silent-send/issues).
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"manifest_version": 3, "manifest_version": 3,
"name": "Silent Send", "name": "Silent Send",
"version": "0.9.3", "version": "0.9.4",
"description": "Intercepts personal info and substitutes it with user-defined replacements before sending to AI services.", "description": "Intercepts personal info and substitutes it with user-defined replacements before sending to AI services.",
"browser_specific_settings": { "browser_specific_settings": {
"gecko": { "gecko": {
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"manifest_version": 3, "manifest_version": 3,
"name": "Silent Send", "name": "Silent Send",
"version": "0.9.3", "version": "0.9.4",
"description": "Intercepts personal info and substitutes it with user-defined replacements before sending to AI services.", "description": "Intercepts personal info and substitutes it with user-defined replacements before sending to AI services.",
"permissions": [ "permissions": [
"storage", "storage",
+2 -2
View File
@@ -1,8 +1,8 @@
{ {
"name": "silent-send", "name": "silent-send",
"version": "0.9.3", "version": "0.9.4",
"private": true, "private": true,
"license": "BSL-1.1", "license": "MIT",
"description": "Browser extension that substitutes personal data before sending to AI services", "description": "Browser extension that substitutes personal data before sending to AI services",
"scripts": { "scripts": {
"build:chrome": "./build.sh chrome", "build:chrome": "./build.sh chrome",
+4 -1
View File
@@ -154,7 +154,10 @@
const val = changes.ss_identity.newValue; const val = changes.ss_identity.newValue;
if (!val?._ssLocalEncrypted) msg.identity = mergeProfiles(val); if (!val?._ssLocalEncrypted) msg.identity = mergeProfiles(val);
} }
if (changes.ss_settings) msg.settings = changes.ss_settings.newValue; if (changes.ss_settings) {
const val = changes.ss_settings.newValue;
if (!val?._ssLocalEncrypted) msg.settings = val;
}
// Only post if we have something meaningful to send // Only post if we have something meaningful to send
if (msg.mappings || msg.identity || msg.settings) { if (msg.mappings || msg.identity || msg.settings) {
+1 -1
View File
@@ -631,7 +631,7 @@
</section> </section>
<footer> <footer>
<p>Silent Send v0.9.3</p> <p>Silent Send v0.9.4</p>
<p style="font-size:11px;color:#9ca3af;margin-top:6px;max-width:600px"> <p style="font-size:11px;color:#9ca3af;margin-top:6px;max-width:600px">
Silent Send is a convenience tool, not a security guarantee. Third-party sites may change how they send data at any time, which can cause missed substitutions without warning. You are responsible for verifying your data before sending. See the <a href="https://github.com/outis1one/silent-send/blob/main/LICENSE" target="_blank" style="color:#6b7280">LICENSE</a> for full terms. Silent Send is a convenience tool, not a security guarantee. Third-party sites may change how they send data at any time, which can cause missed substitutions without warning. You are responsible for verifying your data before sending. See the <a href="https://github.com/outis1one/silent-send/blob/main/LICENSE" target="_blank" style="color:#6b7280">LICENSE</a> for full terms.
</p> </p>