max / makenotwork
1 file changed,
+4 insertions,
-0 deletions
| @@ -217,6 +217,10 @@ Full report: `docs/audit_review.md`. 3 CRITICAL, 14 HIGH/SERIOUS. Two-axis regre | |||
| 217 | 217 | - [ ] Security: `parse_repo_path` rejects lone-dot entries (`git_ssh.rs:162`). | |
| 218 | 218 | - [ ] Security: ClamAV INSTREAM 16K cap → fail-closed on truncation (`scanning/clamav.rs:101-108`). | |
| 219 | 219 | - [ ] Security: TOTP seeds at rest behind an application-level key. Currently unencrypted in the DB; `tech/security.md:42-53` already discloses this and commits to a fix. A database-only compromise yields working second factors today. | |
| 220 | + | - [ ] AI disclosure: render the tier badge on `pages/item.html` + project page (`> [!UI] ai-tier-badges` in `about/generative-ai.md` is unfilled). Show the `ai_disclosure` text for Assisted items above the buy button so fans see it before purchase. Same badge on item cards in Discover results / search hits. | |
| 221 | + | - [ ] AI disclosure: pick a shape for the Discover filter — current buckets are "All / Handmade / Assisted / Generated"; `about/generative-ai.md` § "How Fans Use This" promises "Handmade only / Human-led / Everything" (Human-led = Handmade ∪ Assisted). Either rewrite the policy to match buckets, or add the combined filter. | |
| 222 | + | - [ ] AI disclosure: community report endpoint for misclassified items. The policy commits to fan flagging ("Fans and fellow creators can flag items they believe are misclassified.") but there's no `/report` or `/flag` route. | |
| 223 | + | - [ ] AI disclosure: drop the `checked` default on the publish wizard's tier radios so the creator has to pick deliberately, OR rephrase the policy's "no unlabeled option" to acknowledge default-handmade. Minor; signal-of-intent only. | |
| 220 | 224 | - [ ] UX: validation error messages stop reflecting user input (`wizards/item/mod.rs:176-179`). | |
| 221 | 225 | - [ ] UX: CSRF body extraction stops using `from_utf8_lossy` (`csrf.rs:528-543`). | |
| 222 | 226 | - [ ] Perf: scan-pipeline 400 MiB worst-case capacity note (`constants.rs:156-157`). |