ai-saas-guard 0.28.0 → 0.28.1

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
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- ai-saas-guard is a local-first launch gate for AI-built SaaS apps. It focuses on auth, billing, data access, secrets, MCP, and deploy decisions, plus CI and fake-success paths, so you know what to review before launch or merge. It runs locally, reads your repo only, and does not upload code.
8
+ ai-saas-guard is a local-first launch gate for AI-built Next.js, Supabase, Stripe, Vercel, and MCP SaaS apps. It focuses on auth, billing, data access, secrets, MCP, and deploy decisions, plus CI and fake-success paths, so you know what to review before launch or merge. It runs locally, reads your repo only, and does not upload code.
9
9
  </p>
10
10
 
11
11
  <p align="center">
@@ -41,6 +41,25 @@ AI can make a SaaS look finished while the real launch blockers sit in trust-bou
41
41
 
42
42
  `ai-saas-guard` gives you a short local review queue for those risks. It does not prove the app is secure, certify a release, or replace human review. It tells founders, solo builders, small teams, and reviewers what deserves attention first.
43
43
 
44
+ ## See The Output
45
+
46
+ The report is designed to be read before launch or before merging an AI-heavy PR:
47
+
48
+ ```text
49
+ Launch Gate: review before launch
50
+ 4 findings: 1 high, 3 medium
51
+
52
+ HIGH stripe.webhook.missing-signature
53
+ File: app/api/stripe/webhook/route.ts
54
+ Why: billing access can be granted from a webhook path that does not verify Stripe signatures.
55
+ Verify: replay a webhook with an invalid signature and confirm the route rejects it.
56
+ Fix: read the raw body, call stripe.webhooks.constructEvent, and make event handling idempotent.
57
+
58
+ MEDIUM supabase.rls.tenant-predicate-missing
59
+ File: supabase/migrations/20260524_accounts.sql
60
+ Verify: sign in as user A and user B; confirm neither can SELECT or UPDATE the other's rows.
61
+ ```
62
+
44
63
  ## What You Get
45
64
 
46
65
  One command returns a launch-readiness report with:
@@ -73,13 +92,13 @@ The CLI is published on npm as `ai-saas-guard`, and the GitHub Action is availab
73
92
  | Area | Status |
74
93
  | --- | --- |
75
94
  | Public GitHub repository | Available |
76
- | npm CLI | `ai-saas-guard@0.28.0` |
77
- | GitHub Action | `zr9959/ai-saas-guard@v0` or fixed tag `v0.28.0` |
95
+ | npm CLI | `ai-saas-guard@0.28.1` |
96
+ | GitHub Action | `zr9959/ai-saas-guard@v0` or fixed tag `v0.28.1` |
78
97
  | Outputs | Terminal, JSON, SARIF, and PR-focused markdown |
79
98
  | Project config | `.ai-saas-guard.json` rule toggles, severity overrides, suppressions, and fail thresholds |
80
99
  | Privacy model | Local-first, read-only scan commands, no LLM calls, no code upload |
81
- | Versioned Action tags | `v0.28.0`, `v0` |
82
- | Current release | `0.28.0` hosted read-only checkout worker export, hosted Check Run smoke evidence, and README sync |
100
+ | Versioned Action tags | `v0.28.1`, `v0` |
101
+ | Current release | `0.28.1` discoverability polish, clearer first-screen output example, npm metadata sync, and hosted worker release line preservation |
83
102
  | npm publishing | Trusted Publisher/OIDC, no long-lived publish token |
84
103
  | Repository trust hardening | Strict branch protection, Dependabot, CodeQL, fast-check fuzzing, signed release provenance assets, private vulnerability reporting, secret scanning, and push protection |
85
104
  | Cloudflare hosted ingress | Deployed at `https://ai-saas-guard-hosted.zr9959.workers.dev`; signed GitHub App webhook delivery and compact Check Run smoke now pass in staging |
@@ -296,7 +315,7 @@ Use `suppressions` for narrower false-positive handling when one rule is noisy o
296
315
 
297
316
  ## GitHub Action
298
317
 
299
- The repo includes a composite Action. Use `v0` for the latest compatible pre-1.0 Action, a specific release tag such as `v0.28.0` for controlled upgrades, or pin a reviewed commit SHA for stricter supply-chain control:
318
+ The repo includes a composite Action. Use `v0` for the latest compatible pre-1.0 Action, a specific release tag such as `v0.28.1` for controlled upgrades, or pin a reviewed commit SHA for stricter supply-chain control:
300
319
 
301
320
  ```yaml
302
321
  name: ai-saas-guard
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- ai-saas-guard 是面向 AI 构建的 SaaS 的本地优先上线 gate。它会优先指出 auth、billing、data access、secrets、MCP、deploy、CI 和“假成功”路径里最值得人工 review 的改动,让你在上线前知道该先看哪里。它本地运行、只读仓库、不上传代码。
8
+ ai-saas-guard 是面向 AI 构建的 Next.js、Supabase、Stripe、Vercel 和 MCP SaaS 的本地优先上线 gate。它会优先指出 auth、billing、data access、secrets、MCP、deploy、CI 和“假成功”路径里最值得人工 review 的改动,让你在上线前知道该先看哪里。它本地运行、只读仓库、不上传代码。
9
9
  </p>
10
10
 
11
11
  <p align="center">
@@ -40,6 +40,25 @@ AI 能很快把一个 SaaS 做到“看起来能用”。真正危险的是上
40
40
 
41
41
  `ai-saas-guard` 是面向这个时刻的本地优先、review-first 上线预检工具。它不会证明你的应用绝对安全,也不是渗透测试、认证或完整安全审计。它的目标是给 founder、独立开发者、小团队和 reviewer 一份短而有证据的清单,告诉你上线或合并 PR 前最该先看哪里。
42
42
 
43
+ ## 输出长什么样
44
+
45
+ 报告是给上线前或合并 AI 大 PR 前快速阅读的:
46
+
47
+ ```text
48
+ Launch Gate: review before launch
49
+ 4 findings: 1 high, 3 medium
50
+
51
+ HIGH stripe.webhook.missing-signature
52
+ File: app/api/stripe/webhook/route.ts
53
+ Why: billing access can be granted from a webhook path that does not verify Stripe signatures.
54
+ Verify: replay a webhook with an invalid signature and confirm the route rejects it.
55
+ Fix: read the raw body, call stripe.webhooks.constructEvent, and make event handling idempotent.
56
+
57
+ MEDIUM supabase.rls.tenant-predicate-missing
58
+ File: supabase/migrations/20260524_accounts.sql
59
+ Verify: sign in as user A and user B; confirm neither can SELECT or UPDATE the other's rows.
60
+ ```
61
+
43
62
  ## 你会得到什么
44
63
 
45
64
  一个命令会返回一份上线前 review 队列:
@@ -67,18 +86,18 @@ AI 能很快把一个 SaaS 做到“看起来能用”。真正危险的是上
67
86
 
68
87
  这个仓库是公开 GitHub 仓库。
69
88
 
70
- CLI 已发布到 npm:`ai-saas-guard@0.28.0`。GitHub Action 支持 `v0` 浮动标签,也支持固定版本标签,例如 `v0.28.0`。
89
+ CLI 已发布到 npm:`ai-saas-guard@0.28.1`。GitHub Action 支持 `v0` 浮动标签,也支持固定版本标签,例如 `v0.28.1`。
71
90
 
72
91
  | 模块 | 状态 |
73
92
  | --- | --- |
74
93
  | 公开 GitHub 仓库 | 已可用 |
75
- | npm CLI | `ai-saas-guard@0.28.0` |
76
- | GitHub Action | `zr9959/ai-saas-guard@v0` 或固定标签 `v0.28.0` |
94
+ | npm CLI | `ai-saas-guard@0.28.1` |
95
+ | GitHub Action | `zr9959/ai-saas-guard@v0` 或固定标签 `v0.28.1` |
77
96
  | 输出格式 | Terminal、JSON、SARIF 和 PR markdown |
78
97
  | 项目配置 | `.ai-saas-guard.json` 支持规则开关、severity 覆盖、suppressions 和 fail threshold |
79
98
  | 隐私模型 | 本地优先、只读扫描、不调用 LLM、不上传代码 |
80
- | 当前版本 | `0.28.0` hosted read-only checkout worker export、hosted Check Run smoke evidence 和 README 同步 |
81
- | Action 标签 | `v0.28.0`、`v0` |
99
+ | 当前版本 | `0.28.1` discoverability polish、首页输出示例、npm metadata 同步,并保留 hosted worker release line |
100
+ | Action 标签 | `v0.28.1`、`v0` |
82
101
  | npm 发布 | GitHub Actions Trusted Publisher/OIDC,无需长期 npm token |
83
102
  | 仓库可信度加固 | 严格 branch protection、Dependabot、CodeQL、fast-check fuzzing、signed release provenance assets、private vulnerability reporting、secret scanning 和 push protection |
84
103
  | Cloudflare hosted ingress | 已部署到 `https://ai-saas-guard-hosted.zr9959.workers.dev`;签名 GitHub App webhook delivery 和 compact Check Run staging smoke 已通过 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  `ai-saas-guard` ships as a composite GitHub Action for pull request and code scanning workflows.
4
4
 
5
- Use `zr9959/ai-saas-guard@v0` for the latest compatible pre-1.0 Action. Use a specific tag such as `v0.28.0` or a reviewed commit SHA when reproducibility is more important than automatic minor updates.
5
+ Use `zr9959/ai-saas-guard@v0` for the latest compatible pre-1.0 Action. Use a specific tag such as `v0.28.1` or a reviewed commit SHA when reproducibility is more important than automatic minor updates.
6
6
 
7
7
  ## PR Summary
8
8
 
@@ -5,11 +5,11 @@
5
5
  ## Current State
6
6
 
7
7
  - Package name: `ai-saas-guard`
8
- - Current published version: `0.28.0`
8
+ - Current published version: `0.28.1`
9
9
  - Next source candidate: none
10
10
  - npm registry state: published at <https://www.npmjs.com/package/ai-saas-guard>
11
11
  - First npm-published version: `0.1.1`
12
- - GitHub Release: `v0.28.0`
12
+ - GitHub Release: `v0.28.1`
13
13
  - Publish workflow: `.github/workflows/npm-publish.yml`
14
14
  - Trusted Publisher: GitHub Actions, `zr9959/ai-saas-guard`, workflow `npm-publish.yml`, allowed action `npm publish`
15
15
  - Long-lived npm publish token: not required
@@ -18,7 +18,7 @@
18
18
 
19
19
  Use GitHub Actions with npm Trusted Publisher/OIDC:
20
20
 
21
- 1. Create and review a release tag such as `v0.28.0`.
21
+ 1. Create and review a release tag such as `v0.28.1`.
22
22
  2. Publish from the GitHub Release or run the `Publish npm` workflow manually with `ref` set to that tag.
23
23
  3. Keep `permissions.id-token: write` in the workflow so npm can exchange the GitHub Actions OIDC identity for a short-lived publish credential.
24
24
  4. Run `npm publish --access public` from the workflow. Trusted publishing automatically generates provenance for this public package from this public repository.
@@ -161,7 +161,7 @@ OpenSSF Best Practices:
161
161
  Publishing:
162
162
 
163
163
  - npm package: `ai-saas-guard`
164
- - Current published release line: `v0.28.0` pending this branch release
164
+ - Current published release line: `v0.28.1` pending this branch release
165
165
  - Next source candidate: none
166
166
  - Publish workflow: `.github/workflows/npm-publish.yml`
167
167
  - Trusted Publisher: GitHub Actions for `zr9959/ai-saas-guard`, workflow `npm-publish.yml`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ai-saas-guard",
3
- "version": "0.28.0",
4
- "description": "Repo-local launch-readiness scanner for AI-built SaaS apps.",
3
+ "version": "0.28.1",
4
+ "description": "Local-first CLI that catches launch blockers in AI-built Next.js/Supabase/Stripe SaaS apps.",
5
5
  "readmeFilename": "README.md",
6
6
  "type": "module",
7
7
  "homepage": "https://github.com/zr9959/ai-saas-guard#readme",
@@ -14,14 +14,25 @@
14
14
  },
15
15
  "keywords": [
16
16
  "ai",
17
+ "ai-code-review",
17
18
  "saas",
18
19
  "security",
19
20
  "launch",
20
21
  "preflight",
22
+ "launch-readiness",
23
+ "nextjs",
24
+ "vercel",
21
25
  "supabase",
26
+ "supabase-rls",
22
27
  "stripe",
28
+ "stripe-webhooks",
23
29
  "mcp",
30
+ "mcp-security",
24
31
  "github-action",
32
+ "github-actions",
33
+ "static-analysis",
34
+ "devsecops",
35
+ "local-first",
25
36
  "cli"
26
37
  ],
27
38
  "main": "./dist/index.js",