SafeShare Help
Changelog & QA Protocol
Traceable, reproducible, verifiable: what changed, why it changed, and how it was validated.
Core principle: A change is only “done” when Standard and Strict outcomes are reproducibly validated with fixed test cases.
Changelog entries
2026-02-16 — Transparency mode expanded
- Area: App (reporting/explanation)
- Change: DecisionSummary + details panel expanded
- Reason: Better traceability of Standard/Strict decisions
- Expected effect: Removed/kept parameters + reason codes visible right after “Clean”
- Risk: No rule effect without an active clean; this update focuses on visibility and explainability
QA baseline 2026-02-16
Status: stable · Scope: App · Reference: app.js v2026-02-16-02
- Binding QA baseline with 5 fixed reference cases for Standard vs Strict.
- Each case documents: input, expected output, removed/kept, DecisionSummary, and transparency panel state.
- Goal: make regressions visible quickly after rule or logic changes.
Baseline page:
/en/help/changelog/qa-baseline-2026-02-16/
QA protocol (EN)
Protocol format per case:
[date/time], case, input, Standard/Strict output, removed/kept, DecisionSummary, transparency panel.
Case 1 – Google Search (stable in both modes)
[2026-02-16 12:00 CET]
Case: Google Search baseline
Input: https://www.google.com/search?q=safeshare&utm_source=newsletter&fbclid=abc123&tbm=isch&kgmid=/g/11xyz
Mode Standard Output: https://www.google.com/search?q=safeshare&tbm=isch&kgmid=/g/11xyz
Mode Strict Output: https://www.google.com/search?q=safeshare&tbm=isch&kgmid=/g/11xyz
Removed (Std): utm_source(tracking_rule), fbclid(tracking_rule)
Removed (Strict): utm_source(tracking_rule), fbclid(tracking_rule)
Kept (Std): q(stability_keep), tbm(stability_keep), kgmid(stability_keep)
Kept (Strict): q(domain_strict_keep), tbm(domain_strict_keep), kgmid(domain_strict_keep)
DecisionSummary correct? Yes
Transparency panel correct? Yes
Comment: Same output in Standard/Strict is expected here.
Case 2 – YouTube (si removed only in Strict)
[2026-02-16 12:05 CET]
Case: YouTube watch with si
Input: https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=43s&list=PL123&si=ABCD&utm_source=x
Mode Standard Output: https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=43s&list=PL123&si=ABCD
Mode Strict Output: https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=43s&list=PL123
Removed (Std): utm_source(tracking_rule)
Removed (Strict): utm_source(tracking_rule), si(strict_extra)
Kept (Std): v(stability_keep), t(stability_keep), list(stability_keep), si(stability_keep)
Kept (Strict): v(domain_strict_keep), t(domain_strict_keep), list(domain_strict_keep)
DecisionSummary correct? Yes
Transparency panel correct? Yes
Comment: Visible Standard vs Strict difference is present.
Case 3 – Amazon (qid/sr/ref removed in Strict)
[2026-02-16 12:10 CET]
Case: Amazon listing parameters
Input: https://www.amazon.de/s?k=usb+cable&qid=1700000000&sr=8-3&ref=sr_1_3&utm_medium=email
Mode Standard Output: https://www.amazon.de/s?k=usb+cable&qid=1700000000&sr=8-3&ref=sr_1_3
Mode Strict Output: https://www.amazon.de/s?k=usb+cable
Removed (Std): utm_medium(tracking_rule)
Removed (Strict): utm_medium(tracking_rule), qid(strict_extra), sr(strict_extra), ref(strict_extra)
Kept (Std): k(not_flagged), qid(stability_keep), sr(stability_keep), ref(stability_keep)
Kept (Strict): k(domain_strict_keep)
DecisionSummary correct? Yes
Transparency panel correct? Yes
Comment: Strict is visibly more aggressive, as intended.
Case 4 – Newsletter parameters (same output in both modes)
[2026-02-16 12:15 CET]
Case: Newsletter tracking cleanup
Input: https://example.com/article?mc_cid=111&_hsenc=p2ANqtz&mkt_tok=abc123&utm_campaign=spring&id=42
Mode Standard Output: https://example.com/article?id=42
Mode Strict Output: https://example.com/article?id=42
Removed (Std): mc_cid(tracking_rule), _hsenc(tracking_rule), mkt_tok(tracking_rule), utm_campaign(tracking_rule)
Removed (Strict): mc_cid(tracking_rule), _hsenc(tracking_rule), mkt_tok(tracking_rule), utm_campaign(tracking_rule)
Kept (Std): id(stability_keep)
Kept (Strict): id(not_flagged)
DecisionSummary correct? Yes
Transparency panel correct? Yes
Comment: No mode difference expected.
Case 5 – Generic URL (ref/source/via/spm removed only in Strict)
[2026-02-16 12:20 CET]
Case: Generic strict-extra behavior
Input: https://example.org/page?ref=twitter&source=feed&via=rss&spm=abc123&q=privacy
Mode Standard Output: https://example.org/page?ref=twitter&source=feed&via=rss&spm=abc123&q=privacy
Mode Strict Output: https://example.org/page?q=privacy
Removed (Std): –
Removed (Strict): ref(strict_extra), source(strict_extra), via(strict_extra), spm(strict_extra)
Kept (Std): ref(stability_keep), source(not_flagged), via(not_flagged), spm(stability_keep), q(stability_keep)
Kept (Strict): q(not_flagged)
DecisionSummary correct? Yes
Transparency panel correct? Yes
Comment: Clear difference between Standard and Strict.
Acceptance checklist (pass/fail)
- ✅ DecisionSummary active and plausible
- ✅ Transparency panel shows host, mode, rule source, diff, and reasons
- ✅ Reason codes mapped consistently
- ✅ At least 3 cases with visible Standard-vs-Strict differences
- ✅ Scope communicated clearly (no “invisible on the web” claim)
Scope
- Yes: SafeShare cleans URL tracking parameters.
- No: No protection against IP logs, fingerprinting, or post-login tracking.
- Important: “Invisible on the web” does not exist. SafeShare is a concrete hygiene step before sharing.
FAQ
What does this changelog document?
Rule updates, QA baselines, and reproducible test results for Standard and Strict modes.
Are Standard and Strict always different?
No. Different outputs appear only when additional strict-extra rules are triggered.
Why is this page important?
Because it makes technical changes and validation results transparent—traceable for users and reproducible for QA.
Next step
Test the workflow directly in the app or review the active rules first.