shippingszn 0.8.2 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,7 +36,7 @@ fields:
36
36
  "proofUploadHint": "Run `npx shippingszn --json > shippingszn-scan.json`, then paste or upload that JSON in the web scan proof flow to create a shareable launch proof result.",
37
37
  "proofUrl": "https://shippingszn.com/proof/00000000-0000-4000-8000-000000000123",
38
38
  "proofResultId": "00000000-0000-4000-8000-000000000123",
39
- "badgeMarkdown": "[![Launch readiness proof: 70%](https://shippingszn.com/api/badge.svg?...)](https://shippingszn.com/proof/00000000-0000-4000-8000-000000000123)",
39
+ "badgeMarkdown": "[![shippingszn scan proof: 70%](https://shippingszn.com/api/badge.svg?...)](https://shippingszn.com/proof/00000000-0000-4000-8000-000000000123)",
40
40
  "wallUrl": "https://shippingszn.com/wall",
41
41
  "reportUrl": "https://shippingszn.com/report?scanResultId=00000000-0000-4000-8000-000000000123"
42
42
  },
@@ -93,6 +93,9 @@ maps back to one of the items on the checklist.
93
93
  - Missing security-header middleware in common server configs.
94
94
  - Dangerous code patterns: unsafe HTML injection in React, runtime
95
95
  code-execution calls, wildcard CORS.
96
+ - OTP/auth readiness signals: phone normalization, resend/cooldown behavior,
97
+ anti-enumeration copy, mobile one-time-code input, delivery-smoke evidence,
98
+ recovery paths, and paid report access that depends on OTP.
96
99
  - Python: common debug-mode slip-ups, hardcoded framework secrets, missing
97
100
  env-var loading.
98
101
  - Ruby: unsafe string rendering, hardcoded Rails secrets.
@@ -104,6 +107,32 @@ maps back to one of the items on the checklist.
104
107
  Each finding is tagged Critical, High, Medium, or Lower and links back to the
105
108
  relevant checklist item on shippingszn.com.
106
109
 
110
+ ## Suppressing false positives
111
+
112
+ Two opt-out mechanisms, both off by default:
113
+
114
+ - **`.gitignore` is respected.** Files your repo gitignores (build output,
115
+ generated reports, local `.env`, vendored sub-projects) are skipped.
116
+ This works automatically inside any git repo; outside a git repo the
117
+ scanner falls back to walking the full directory.
118
+ - **Inline ignore markers.** For one-off cases where a file legitimately
119
+ contains a pattern the scanner detects (a regex literal, copy that
120
+ describes a placeholder, a test fixture), add one of:
121
+
122
+ ```ts
123
+ // shippingszn:ignore — placed on the same line as the match
124
+ const x = "lorem ipsum"; // shippingszn:ignore — fixture text
125
+
126
+ // shippingszn:ignore-next-line — placed on the line above the match
127
+ // shippingszn:ignore-next-line
128
+ const greeting = "hello placeholder";
129
+ ```
130
+
131
+ Markers apply to substring/regex checks (placeholder content, dangerous
132
+ patterns, language patterns). They deliberately do **not** apply to
133
+ hardcoded-secret detection — false positives there should be addressed
134
+ by removing the secret pattern, not by allowlisting.
135
+
107
136
  ## What does NOT get checked
108
137
 
109
138
  These are deliberately out of scope for v1: