failproofai 0.0.6-beta.2 → 0.0.6-beta.3

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.
Files changed (119) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  19. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  20. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  22. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  25. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/index.html +1 -1
  27. package/.next/standalone/.next/server/app/index.rsc +15 -15
  28. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  30. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  31. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  32. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  34. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  37. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  47. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  50. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  52. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05akje6._.js → [root-of-the-server]__096k.db._.js} +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i5kvry._.js → [root-of-the-server]__0kyh86x._.js} +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  64. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  65. package/.next/standalone/.next/server/pages/404.html +2 -2
  66. package/.next/standalone/.next/server/pages/500.html +1 -1
  67. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  69. package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 0-dm_9a6nsc2l.js} +1 -1
  70. package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 01pmw1-asbek~.js} +2 -2
  71. package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 051m32nx~n5yr.js} +1 -1
  72. package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 0a-yctdwn368y.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0l-mu4okl-cj1.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0mazj-p-~2kc6.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
  76. package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 156zca6aewyr-.js} +1 -1
  77. package/.next/standalone/CHANGELOG.md +7 -0
  78. package/.next/standalone/bin/failproofai.mjs +91 -4
  79. package/.next/standalone/dist/cli.mjs +1155 -54
  80. package/.next/standalone/docs/ar/built-in-policies.mdx +118 -118
  81. package/.next/standalone/docs/built-in-policies.mdx +2 -2
  82. package/.next/standalone/docs/de/built-in-policies.mdx +48 -48
  83. package/.next/standalone/docs/es/built-in-policies.mdx +82 -82
  84. package/.next/standalone/docs/fr/built-in-policies.mdx +72 -72
  85. package/.next/standalone/docs/he/built-in-policies.mdx +129 -128
  86. package/.next/standalone/docs/hi/built-in-policies.mdx +178 -182
  87. package/.next/standalone/docs/it/built-in-policies.mdx +64 -64
  88. package/.next/standalone/docs/ja/built-in-policies.mdx +128 -128
  89. package/.next/standalone/docs/ko/built-in-policies.mdx +111 -111
  90. package/.next/standalone/docs/pt-br/built-in-policies.mdx +65 -65
  91. package/.next/standalone/docs/ru/built-in-policies.mdx +72 -72
  92. package/.next/standalone/docs/tr/built-in-policies.mdx +99 -99
  93. package/.next/standalone/docs/vi/built-in-policies.mdx +69 -72
  94. package/.next/standalone/docs/zh/built-in-policies.mdx +76 -78
  95. package/.next/standalone/package.json +1 -1
  96. package/.next/standalone/server.js +1 -1
  97. package/.next/standalone/src/auth/login.ts +104 -0
  98. package/.next/standalone/src/auth/logout.ts +50 -0
  99. package/.next/standalone/src/auth/token-store.ts +64 -0
  100. package/.next/standalone/src/hooks/builtin-policies.ts +22 -20
  101. package/.next/standalone/src/hooks/handler.ts +35 -15
  102. package/.next/standalone/src/relay/daemon.ts +362 -0
  103. package/.next/standalone/src/relay/pid.ts +76 -0
  104. package/.next/standalone/src/relay/queue.ts +225 -0
  105. package/bin/failproofai.mjs +91 -4
  106. package/dist/cli.mjs +1155 -54
  107. package/package.json +1 -1
  108. package/src/auth/login.ts +104 -0
  109. package/src/auth/logout.ts +50 -0
  110. package/src/auth/token-store.ts +64 -0
  111. package/src/hooks/builtin-policies.ts +22 -20
  112. package/src/hooks/handler.ts +35 -15
  113. package/src/relay/daemon.ts +362 -0
  114. package/src/relay/pid.ts +76 -0
  115. package/src/relay/queue.ts +225 -0
  116. package/.next/standalone/.next/static/chunks/0ijk_kek9_wyx.js +0 -6
  117. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
  118. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
  119. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
@@ -1,22 +1,21 @@
1
1
  ---
2
- ---
3
- title: Chính sách tích hợp sẵn
4
- description: "30 chính sách tích hợp sẵn giúp bắt các chế độ lỗi thông thường của agent"
2
+ title: Các chính sách tích hợp sẵn
3
+ description: "Tất cả 30 chính sách tích hợp sẵn để bắt các chế độ lỗi phổ biến của agent"
5
4
  icon: shield
6
5
  ---
7
6
 
8
- failproofai được cung cấp với 30 chính sách tích hợp sẵn giúp bắt các chế độ lỗi thông thường của agent. Mỗi chính sách được kích hoạt trên một loại sự kiện hook cụ thể và tên công cụ. Chín chính sách chấp nhận các tham số cho phép bạn điều chỉnh hành vi của chúng mà không cần viết mã. Bốn chính sách quy trình làm việc thực thi đường ống commit → push → PR → CI trước khi Claude dừng lại.
7
+ failproofai đi kèm với 30 chính sách tích hợp sẵn để bắt các chế độ lỗi phổ biến của agent. Mỗi chính sách kích hoạt trên một loại sự kiện hook cụ thể và tên công cụ. Chín chính sách chấp nhận các tham số cho phép bạn tinh chỉnh hành vi của chúng mà không cần viết mã. Bốn chính sách quy trình làm việc thực thi đường dẫn commit → push → PR → CI trước khi Claude dừng lại.
9
8
 
10
9
  ---
11
10
 
12
11
  ## Tổng quan
13
12
 
14
- Chính sách được nhóm thành các danh mục:
13
+ Các chính sách được nhóm thành các danh mục:
15
14
 
16
15
  | Danh mục | Chính sách | Loại hook |
17
16
  |----------|----------|-----------|
18
- | [Lệnh nguy hiểm](#lệnh-nguy-hiểm) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
19
- | [Bí mật (bộ làm sạch)](#bí-mật-bộ-làm-sạch) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
17
+ | [Các lệnh nguy hiểm](#các-lệnh-nguy-hiểm) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
+ | [Bí mật (các công cụ khử trùng)](#bí-mật-các-công-cụ-khử-trùng) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
20
19
  | [Môi trường](#môi-trường) | block-env-files, protect-env-vars | PreToolUse |
21
20
  | [Truy cập tệp](#truy-cập-tệp) | block-read-outside-cwd, block-secrets-write | PreToolUse |
22
21
  | [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
@@ -25,35 +24,35 @@ Chính sách được nhóm thành các danh mục:
25
24
  | [Trình quản lý gói](#trình-quản-lý-gói) | prefer-package-manager | PreToolUse |
26
25
  | [Quy trình làm việc](#quy-trình-làm-việc) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
27
26
 
28
- - **`block-`** — dừng agent không được tiếp tục.
29
- - **`warn-`** — cung cấp cho agent ngữ cảnh bổ sung để nó có thể tự sửa.
30
- - **`sanitize-`** — loại bỏ dữ liệu nhạy cảm từ đầu ra công cụ trước khi agent nhìn thấy.
27
+ - **`block-`** — dừng agent không cho tiếp tục.
28
+ - **`warn-`** — cung cấp cho agent ngữ cảnh bổ sung để nó có thể tự sửa chữa.
29
+ - **`sanitize-`** — xoá các dữ liệu nhạy cảm từ đầu ra công cụ trước khi agent nhìn thấy.
31
30
  - **`require-`** — chặn sự kiện Stop cho đến khi các điều kiện được đáp ứng.
32
31
 
33
32
  ---
34
33
 
35
34
  <Tip>
36
- Mỗi chính sách hỗ trợ một trường `hint` tùy chọn trong `policyParams`. Hint được thêm vào thông báo deny hoặc instruct mà Claude nhìn thấy, cung cấp hướng dẫn thể hành động mà không cần sửa đổi mã chính sách. Hoạt động với chính sách tích hợp sẵn, tùy chỉnh và quy ước. Xem [Configuration → hint](/vi/configuration#hint-cross-cutting) để biết chi tiết.
35
+ Mỗi chính sách hỗ trợ một trường `hint` tùy chọn trong `policyParams`. Hint được thêm vào thông báo deny hoặc instruct mà Claude nhìn thấy, cung cấp hướng dẫn hữu ích mà không cần sửa đổi mã chính sách. Hoạt động với các chính sách tích hợp sẵn, tùy chỉnh và quy ước. Xem [Configuration → hint](/vi/configuration#hint-cross-cutting) để biết chi tiết.
37
36
  </Tip>
38
37
 
39
38
  ---
40
39
 
41
- ## Lệnh nguy hiểm
40
+ ## Các lệnh nguy hiểm
42
41
 
43
- Ngăn chặn agent chạy các hoạt động khó hoàn tác hoặc có thể làm hại hệ thống chủ.
42
+ Ngăn chặn agent chạy các hoạt động khó hoàn tác hoặc có thể làm hỏng hệ thống chủ.
44
43
 
45
44
  ### `block-sudo`
46
45
 
47
46
  **Sự kiện:** PreToolUse (Bash)
48
- **Mặc định:** Từ chối bất kỳ lệnh `sudo` nào.
47
+ **Mặc định:** Từ chối mọi lệnh `sudo`.
49
48
 
50
- Chặn các lời gọi bao gồm từ khóa `sudo`. Khớp mẫu được thực hiện trên các token lệnh được phân tích, không phải chuỗi thô, để ngăn chặn vòng qua injection toán tử shell.
49
+ Chặn các lần gọi bao gồm từ khóa `sudo`. Khớp mẫu được thực hiện trên các token lệnh đã phân tích cú pháp, không phải chuỗi thô, để ngăn chặn vòng qua tiêm toán tử shell.
51
50
 
52
51
  **Tham số:**
53
52
 
54
53
  | Tham số | Loại | Mặc định | Mô tả |
55
54
  |-------|------|---------|-------------|
56
- | `allowPatterns` | `string[]` | `[]` | Tiền tố lệnh chính xác được phép. Mỗi mục được khớp với các token argv được phân tích. |
55
+ | `allowPatterns` | `string[]` | `[]` | Tiền tố lệnh chính xác được phép. Mỗi mục được so khớp với các token argv đã phân tích cú pháp. |
57
56
 
58
57
  **Ví dụ:**
59
58
 
@@ -67,10 +66,10 @@ Chặn các lời gọi bao gồm từ khóa `sudo`. Khớp mẫu được thự
67
66
  }
68
67
  ```
69
68
 
70
- Với cấu hình này, `sudo systemctl status nginx` được phép, nhưng `sudo rm /etc/hosts` bị từ chối.
69
+ Với cấu hình này, `sudo systemctl status nginx` được cho phép, nhưng `sudo rm /etc/hosts` bị từ chối.
71
70
 
72
71
  <Note>
73
- Mẫu được khớp với các token được phân tích, không phải chuỗi lệnh thô. Điều này ngăn chặn vòng qua các toán tử shell được nối thêm (ví dụ: `sudo systemctl status x; rm -rf /` không khớp `sudo systemctl status *`).
72
+ Các mẫu được so khớp với các token đã phân tích cú pháp, không phải chuỗi lệnh thô. Điều này ngăn chặn vòng qua các toán tử shell được thêm vào (ví dụ: `sudo systemctl status x; rm -rf /` không khớp với `sudo systemctl status *`).
74
73
  </Note>
75
74
 
76
75
  ---
@@ -84,7 +83,7 @@ Mẫu được khớp với các token được phân tích, không phải chu
84
83
 
85
84
  | Tham số | Loại | Mặc định | Mô tả |
86
85
  |-------|------|---------|-------------|
87
- | `allowPaths` | `string[]` | `[]` | Đường dẫn an toàn để xóa đệ quy (ví dụ: `/tmp`). |
86
+ | `allowPaths` | `string[]` | `[]` | Các đường dẫn an toàn để xóa đệ quy (ví dụ: `/tmp`). |
88
87
 
89
88
  **Ví dụ:**
90
89
 
@@ -118,14 +117,14 @@ Không có tham số.
118
117
 
119
118
  ---
120
119
 
121
- ## Bí mật (bộ làm sạch)
120
+ ## Bí mật (các công cụ khử trùng)
122
121
 
123
- Ngăn chặn agent rò rỉ thông tin xác thực vào ngữ cảnh hoặc đầu ra của chúng. Chính sách bộ làm sạch được kích hoạt trên các sự kiện **PostToolUse**. Khi Claude chạy lệnh Bash, đọc tệp hoặc gọi bất kỳ công cụ nào, những chính sách này kiểm tra đầu ra trước khi nó được trả lại Claude. Nếu phát hiện mẫu bí mật, chính sách sẽ trả về quyết định deny ngăn chặn đầu ra không được chuyển lại.
122
+ Ngăn chặn agent rò rỉ thông tin xác thực vào ngữ cảnh hoặc đầu ra của chúng. Các chính sách khử trùng kích hoạt trên các sự kiện **PostToolUse**. Khi Claude chạy lệnh Bash, đọc tệp hoặc gọi bất kỳ công cụ nào, các chính sách này kiểm tra đầu ra trước khi nó được trả về cho Claude. Nếu phát hiện mẫu bí mật, chính sách trả về quyết định deny ngăn chặn đầu ra được truyền lại.
124
123
 
125
124
  ### `sanitize-jwt`
126
125
 
127
- **Sự kiện:** PostToolUse (tất cả công cụ)
128
- **Mặc định:** Redact các token JWT (ba segment base64url được phân tách bằng `.`).
126
+ **Sự kiện:** PostToolUse (tất cả các công cụ)
127
+ **Mặc định:** Che đi các token JWT (ba phân đoạn base64url được phân tách bằng `.`).
129
128
 
130
129
  Không có tham số.
131
130
 
@@ -133,14 +132,14 @@ Không có tham số.
133
132
 
134
133
  ### `sanitize-api-keys`
135
134
 
136
- **Sự kiện:** PostToolUse (tất cả công cụ)
137
- **Mặc định:** Redact các định dạng khóa API thông thường: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), khóa truy cập AWS (`AKIA`), khóa Stripe (`sk_live_`, `sk_test_`) và khóa Google API (`AIza`).
135
+ **Sự kiện:** PostToolUse (tất cả các công cụ)
136
+ **Mặc định:** Che đi các định dạng khóa API phổ biến: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), Khóa truy cập AWS (`AKIA`), Khóa Stripe (`sk_live_`, `sk_test_`) và Khóa API Google (`AIza`).
138
137
 
139
138
  **Tham số:**
140
139
 
141
140
  | Tham số | Loại | Mặc định | Mô tả |
142
141
  |-------|------|---------|-------------|
143
- | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Các mẫu regex bổ sung được coi bí mật. |
142
+ | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Các mẫu regex bổ sung để coi như bí mật. |
144
143
 
145
144
  **Ví dụ:**
146
145
 
@@ -161,8 +160,8 @@ Không có tham số.
161
160
 
162
161
  ### `sanitize-connection-strings`
163
162
 
164
- **Sự kiện:** PostToolUse (tất cả công cụ)
165
- **Mặc định:** Redact các chuỗi kết nối cơ sở dữ liệu chứa thông tin xác thực được nhúng (ví dụ: `postgresql://user:password@host/db`).
163
+ **Sự kiện:** PostToolUse (tất cả các công cụ)
164
+ **Mặc định:** Che đi các chuỗi kết nối cơ sở dữ liệu chứa thông tin xác thực nhúng (ví dụ: `postgresql://user:password@host/db`).
166
165
 
167
166
  Không có tham số.
168
167
 
@@ -170,8 +169,8 @@ Không có tham số.
170
169
 
171
170
  ### `sanitize-private-key-content`
172
171
 
173
- **Sự kiện:** PostToolUse (tất cả công cụ)
174
- **Mặc định:** Redact các khối PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, v.v.).
172
+ **Sự kiện:** PostToolUse (tất cả các công cụ)
173
+ **Mặc định:** Che đi các khối PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, v.v.).
175
174
 
176
175
  Không có tham số.
177
176
 
@@ -179,8 +178,8 @@ Không có tham số.
179
178
 
180
179
  ### `sanitize-bearer-tokens`
181
180
 
182
- **Sự kiện:** PostToolUse (tất cả công cụ)
183
- **Mặc định:** Redact các header `Authorization: Bearer <token>` trong đó token có 20 ký tự trở lên.
181
+ **Sự kiện:** PostToolUse (tất cả các công cụ)
182
+ **Mặc định:** Che đi tiêu đề `Authorization: Bearer <token>` trong đó token có 20 ký tự trở lên.
184
183
 
185
184
  Không có tham số.
186
185
 
@@ -188,14 +187,14 @@ Không có tham số.
188
187
 
189
188
  ## Môi trường
190
189
 
191
- Bảo vệ cấu hình môi trường nhạy cảm khỏi bị agent đọc hoặc tiếp xúc.
190
+ Bảo vệ cấu hình môi trường nhạy cảm không bị agent đọc hoặc lộ ra.
192
191
 
193
192
  ### `block-env-files`
194
193
 
195
194
  **Sự kiện:** PreToolUse (Bash, Read)
196
- **Mặc định:** Từ chối đọc các tệp `.env` thông qua `cat .env`, gọi công cụ Read với `.env` làm đường dẫn tệp, v.v.
195
+ **Mặc định:** Từ chối đọc các tệp `.env` qua `cat .env`, các lệnh gọi công cụ Read với `.env` đường dẫn tệp, v.v.
197
196
 
198
- Không chặn `.envrc` hoặc các tệp liên quan môi trường khác - chỉ các tệp được đặt tên chính xác `.env`.
197
+ Không chặn `.envrc` hoặc các tệp liên quan môi trường khác - chỉ các tệp tên chính xác `.env`.
199
198
 
200
199
  Không có tham số.
201
200
 
@@ -212,7 +211,7 @@ Không có tham số.
212
211
 
213
212
  ## Truy cập tệp
214
213
 
215
- Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các tệp nhạy cảm.
214
+ Giữ cho agent hoạt động trong ranh giới dự án và tránh xa các tệp nhạy cảm.
216
215
 
217
216
  ### `block-read-outside-cwd`
218
217
 
@@ -223,7 +222,7 @@ Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các t
223
222
 
224
223
  | Tham số | Loại | Mặc định | Mô tả |
225
224
  |-------|------|---------|-------------|
226
- | `allowPaths` | `string[]` | `[]` | Tiền tố đường dẫn tuyệt đối được phép ngay cả khi bên ngoài cwd. |
225
+ | `allowPaths` | `string[]` | `[]` | Các tiền tố đường dẫn tuyệt đối được phép ngay cả khi bên ngoài cwd. |
227
226
 
228
227
  **Ví dụ:**
229
228
 
@@ -242,7 +241,7 @@ Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các t
242
241
  ### `block-secrets-write`
243
242
 
244
243
  **Sự kiện:** PreToolUse (Write, Edit)
245
- **Mặc định:** Từ chối ghi vào các tệp thường được sử dụng cho khóa riêng và chứng chỉ: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
+ **Mặc định:** Từ chối ghi vào các tệp thường được sử dụng cho khóa riêng và chứng chỉ: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
246
245
 
247
246
  **Tham số:**
248
247
 
@@ -266,7 +265,7 @@ Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các t
266
265
 
267
266
  ## Git
268
267
 
269
- Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nhánh khó hoàn tác.
268
+ Ngăn chặn các push, force-push và lỗi nhánh đột ngột khó hoàn tác.
270
269
 
271
270
  ### `block-push-master`
272
271
 
@@ -277,7 +276,7 @@ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nh
277
276
 
278
277
  | Tham số | Loại | Mặc định | Mô tả |
279
278
  |-------|------|---------|-------------|
280
- | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể được đẩy trực tiếp. |
279
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể push trực tiếp. |
281
280
 
282
281
  **Ví dụ:**
283
282
 
@@ -292,7 +291,7 @@ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nh
292
291
  ```
293
292
 
294
293
  <Tip>
295
- Để cho phép đẩy đến tất cả các nhánh ( hiệu lực vô hiệu hóa chính sách này mà không xóa khỏi `enabledPolicies`), hãy đặt `protectedBranches: []`.
294
+ Để cho phép push tới tất cả các nhánh (thực tế vô hiệu hóa chính sách này mà không cần xóa khỏi `enabledPolicies`), hãy đặt `protectedBranches: []`.
296
295
  </Tip>
297
296
 
298
297
  ---
@@ -300,13 +299,13 @@ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nh
300
299
  ### `block-work-on-main`
301
300
 
302
301
  **Sự kiện:** PreToolUse (Bash)
303
- **Mặc định:** Từ chối kiểm tra trực tiếp các nhánh `main` hoặc `master`.
302
+ **Mặc định:** Từ chối kiểm tra các nhánh `main` hoặc `master` trực tiếp.
304
303
 
305
304
  **Tham số:**
306
305
 
307
306
  | Tham số | Loại | Mặc định | Mô tả |
308
307
  |-------|------|---------|-------------|
309
- | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể được kiểm tra trực tiếp. |
308
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể kiểm tra trực tiếp. |
310
309
 
311
310
  ---
312
311
 
@@ -315,7 +314,7 @@ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nh
315
314
  **Sự kiện:** PreToolUse (Bash)
316
315
  **Mặc định:** Từ chối `git push --force` và `git push -f`.
317
316
 
318
- Không có tham số cụ thể chính sách. Sử dụng [`hint`](/vi/configuration#hint-cross-cutting) xuyên suốt để gợi ý các lựa chọn thay thế:
317
+ Không có tham số cụ thể chính sách. Sử dụng [`hint`](/vi/configuration#hint-cross-cutting) chuyên toàn để gợi ý các lựa chọn thay thế:
319
318
 
320
319
  ```json
321
320
  {
@@ -350,7 +349,7 @@ Không có tham số.
350
349
  ### `warn-all-files-staged`
351
350
 
352
351
  **Sự kiện:** PreToolUse (Bash)
353
- **Mặc định:** Hướng dẫn Claude xem xét những gì nó đang staging khi chạy `git add -A` hoặc `git add .`. Không chặn lệnh.
352
+ **Mặc định:** Hướng dẫn Claude xem xét những gì nó đang sử dụng khi chạy `git add -A` hoặc `git add .`. Không chặn lệnh.
354
353
 
355
354
  Không có tham số.
356
355
 
@@ -372,7 +371,7 @@ Không có tham số.
372
371
  ### `warn-schema-alteration`
373
372
 
374
373
  **Sự kiện:** PreToolUse (Bash)
375
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy các lệnh `ALTER TABLE`.
374
+ **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy các câu lệnh `ALTER TABLE`.
376
375
 
377
376
  Không có tham số.
378
377
 
@@ -380,18 +379,18 @@ Không có tham số.
380
379
 
381
380
  ## Cảnh báo
382
381
 
383
- Cung cấp cho agent ngữ cảnh bổ sung trước các hoạt động có rủi ro nhưng không phá hủy.
382
+ Cung cấp cho agent ngữ cảnh bổ sung trước các hoạt động có rủi ro nhưng không tàn phá.
384
383
 
385
384
  ### `warn-large-file-write`
386
385
 
387
386
  **Sự kiện:** PreToolUse (Write)
388
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi viết các tệp lớn hơn 1024 KB.
387
+ **Mặc định:** Hướng dẫn Claude xác nhận trước khi ghi các tệp lớn hơn 1024 KB.
389
388
 
390
389
  **Tham số:**
391
390
 
392
391
  | Tham số | Loại | Mặc định | Mô tả |
393
392
  |-------|------|---------|-------------|
394
- | `thresholdKb` | `number` | `1024` | Ngưỡng kích thước tệp tính bằng kilobyte trên đó cảnh báo được phát hành. |
393
+ | `thresholdKb` | `number` | `1024` | Ngưỡng kích thước tệp tính bằng kilobyte trên đó cảnh báo được cấp. |
395
394
 
396
395
  **Ví dụ:**
397
396
 
@@ -406,7 +405,7 @@ Cung cấp cho agent ngữ cảnh bổ sung trước các hoạt động có r
406
405
  ```
407
406
 
408
407
  <Note>
409
- Trình xử lý hook thực thi giới hạn 1 MB stdin trên tải trọng. Để kiểm tra chính sách này với nội dung nhỏ, hãy đặt `thresholdKb` thành giá trị nằm dưới 1024.
408
+ Trình xử lý hook thực thi giới hạn stdin 1 MB trên các tải trọng. Để kiểm tra chính sách này với nội dung nhỏ, hãy đặt `thresholdKb` thành giá trị tốt dưới 1024.
410
409
  </Note>
411
410
 
412
411
  ---
@@ -423,7 +422,7 @@ Không có tham số.
423
422
  ### `warn-background-process`
424
423
 
425
424
  **Sự kiện:** PreToolUse (Bash)
426
- **Mặc định:** Hướng dẫn Claude cẩn thận khi khởi chạy các quy trình nền qua `nohup`, `&`, `disown` hoặc `screen`.
425
+ **Mặc định:** Hướng dẫn Claude cẩn thận khi khởi chạy các quá trình nền qua `nohup`, `&`, `disown` hoặc `screen`.
427
426
 
428
427
  Không có tham số.
429
428
 
@@ -445,18 +444,18 @@ Thực thi trình quản lý gói nào được agent phép sử dụng.
445
444
  ### `prefer-package-manager`
446
445
 
447
446
  **Sự kiện:** PreToolUse (Bash)
448
- **Mặc định:** Bị hiệu hóa. Khi được bật, chặn bất kỳ lệnh trình quản lý gói nào không có trong danh sách `allowed` và yêu cầu Claude viết lại lệnh bằng trình quản lý được phép.
447
+ **Mặc định:** hiệu hóa. Khi được bật, chặn bất kỳ lệnh trình quản lý gói nào không có trong danh sách `allowed` và hướng dẫn Claude viết lại lệnh bằng trình quản lý được phép.
449
448
 
450
449
  Phát hiện: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
451
450
 
452
451
  | Tham số | Loại | Mặc định | Mô tả |
453
452
  |-----------|------|---------|-------------|
454
- | `allowed` | string[] | `[]` | Tên trình quản lý gói được phép. Bất kỳ trình quản lý được phát hiện nào không có trong danh sách này sẽ bị chặn. Khi trống, chính sách là no-op. |
455
- | `blocked` | string[] | `[]` | Tên trình quản lý bổ sung để chặn ngoài danh sách được xây dựng sẵn (ví dụ: `['pdm', 'pipx']`). |
453
+ | `allowed` | string[] | `[]` | Tên trình quản lý gói được phép. Bất kỳ trình quản lý được phát hiện nào không có trong danh sách này đều bị chặn. Khi trống, chính sách là không hoạt động. |
454
+ | `blocked` | string[] | `[]` | Tên trình quản lý bổ sung để chặn ngoài danh sách tích hợp sẵn (ví dụ: `['pdm', 'pipx']`). |
456
455
 
457
456
  Danh sách chặn tích hợp sẵn bao gồm: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Sử dụng `blocked` để thêm các trình quản lý không có trong danh sách này.
458
457
 
459
- **Cấu hình dụ:**
458
+ ** dụ cấu hình:**
460
459
 
461
460
  ```json
462
461
  {
@@ -470,18 +469,18 @@ Danh sách chặn tích hợp sẵn bao gồm: pip, pip3, npm, npx, yarn, pnpm,
470
469
  }
471
470
  ```
472
471
 
473
- Với cấu hình này, `pip install flask` và `pdm install flask` đều bị từ chối với thông báo yêu cầu Claude sử dụng `uv` hoặc `bun` thay thế. Các lệnh như `uv pip install flask` được phép vì `uv` có trong danh sách cho phép và được kiểm tra trước tiên.
472
+ Với cấu hình này, `pip install flask` và `pdm install flask` đều bị từ chối với thông báo hướng dẫn Claude sử dụng `uv` hoặc `bun`. Các lệnh như `uv pip install flask` được cho phép vì `uv` có trong danh sách cho phép và được kiểm tra trước tiên.
474
473
 
475
474
  ---
476
475
 
477
476
  ## Hành vi AI
478
477
 
479
- Phát hiện khi agent bị mắc kẹt hoặc hành xử bất thường.
478
+ Phát hiện khi agent bị kẹt hoặc hành vi bất thường.
480
479
 
481
480
  ### `warn-repeated-tool-calls`
482
481
 
483
- **Sự kiện:** PreToolUse (tất cả công cụ)
484
- **Mặc định:** Hướng dẫn Claude cân nhắc lại khi cùng một công cụ được gọi 3 lần trở lên với các tham số giống nhau - dấu hiệu thông thường cho thấy agent bị mắc kẹt trong một vòng lặp.
482
+ **Sự kiện:** PreToolUse (tất cả các công cụ)
483
+ **Mặc định:** Hướng dẫn Claude cân nhắc kỹ khi cùng một công cụ được gọi 3 lần trở lên với các tham số giống hệt - một dấu hiệu phổ biến của agent bị kẹt trong vòng lặp.
485
484
 
486
485
  Không có tham số.
487
486
 
@@ -489,14 +488,14 @@ Không có tham số.
489
488
 
490
489
  ## Quy trình làm việc
491
490
 
492
- Thực thi quy trình làm việc kết thúc phiên làm việc theo kỷ luật. Những chính sách này được kích hoạt trên sự kiện **Stop** và từ chối Claude dừng lại cho đến khi mỗi điều kiện được đáp ứng. Chúng tuân theo một chuỗi phụ thuộc tự nhiên: commit → push → PR → CI. Nếu chính sách từ chối, các chính sách sau trong chuỗi sẽ bị bỏ qua (deny rút ngắn).
491
+ Thực thi quy trình làm việc kỷ luật cuối phiên. Các chính sách này kích hoạt trên sự kiện **Stop** và từ chối Claude dừng lại cho đến khi mỗi điều kiện được đáp ứng. Chúng tuân theo chuỗi phụ thuộc tự nhiên: commit → push → PR → CI. Nếu chính sách từ chối, các chính sách sau đó trong chuỗi sẽ bị bỏ qua (deny ngắn mạch).
493
492
 
494
- Tất cả chính sách quy trình làm việc đều **fail-open**: nếu công cụ được yêu cầu không khả dụng (ví dụ: `gh` không được cài đặt, không có git remote), chính sách cho phép với thông báo thông tin giải thích tại sao kiểm tra bị bỏ qua.
493
+ Tất cả các chính sách quy trình làm việc **fail-open**: nếu công cụ được yêu cầu không sẵn (ví dụ: `gh` chưa cài đặt, không có git remote), chính sách cho phép với thông báo thông tin giải thích do kiểm tra bị bỏ qua.
495
494
 
496
495
  ### `require-commit-before-stop`
497
496
 
498
497
  **Sự kiện:** Stop
499
- **Mặc định:** Từ chối dừng khi có các thay đổi chưa được commit (các tệp đã sửa đổi, được staging hoặc không được theo dõi). Trả về thông báo thông tin khi thư mục làm việc sạch.
498
+ **Mặc định:** Từ chối dừng khi có các thay đổi chưa được commit (các tệp đã sửa đổi, đã chuẩn bị hoặc chưa theo dõi). Trả về thông báo thông tin khi thư mục làm việc sạch sẽ.
500
499
 
501
500
  Không có tham số.
502
501
 
@@ -505,13 +504,13 @@ Không có tham số.
505
504
  ### `require-push-before-stop`
506
505
 
507
506
  **Sự kiện:** Stop
508
- **Mặc định:** Từ chối dừng khi có các commit chưa được đẩy hoặc khi nhánh hiện tại không có nhánh theo dõi từ xa. Gợi ý `git push -u` để tạo một nhánh theo dõi nếu cần. Fails open nếu không có remote được cấu hình.
507
+ **Mặc định:** Từ chối dừng khi có các commit chưa được push hoặc khi nhánh hiện tại không có nhánh remote theo dõi. Gợi ý `git push -u` để tạo nhánh theo dõi nếu cần. Fails open nếu không có remote được cấu hình.
509
508
 
510
509
  **Tham số:**
511
510
 
512
511
  | Tham số | Loại | Mặc định | Mô tả |
513
512
  |-------|------|---------|-------------|
514
- | `remote` | `string` | `"origin"` | Tên remote để đẩy tới. |
513
+ | `remote` | `string` | `"origin"` | Tên remote để push tới. |
515
514
 
516
515
  **Ví dụ:**
517
516
 
@@ -530,14 +529,13 @@ Không có tham số.
530
529
  ### `require-pr-before-stop`
531
530
 
532
531
  **Sự kiện:** Stop
533
- **Mặc định:** Từ chối dừng khi không có pull request nào tồn tại cho nhánh hiện tại hoặc khi PR hiện có bị đóng/hợp nhất. Hướng dẫn Claude tạo một PR bằng `gh pr create`.
532
+ **Mặc định:** Từ chối dừng khi không có pull request cho nhánh hiện tại hoặc khi PR hiện có bị đóng/hợp nhất. Hướng dẫn Claude tạo PR bằng `gh pr create`.
534
533
 
535
534
  Không có tham số.
536
535
 
537
536
  <Note>
538
537
  Chính sách này yêu cầu [GitHub CLI](https://cli.github.com/) (`gh`) được cài đặt và xác thực.
539
- Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc đến
540
- các yêu cầu kéo. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fails open và báo cáo lý do cho Claude.
538
+ Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc các yêu cầu kéo. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách sẽ fail open và báo cáo lý do cho Claude.
541
539
  </Note>
542
540
 
543
541
  ---
@@ -545,14 +543,13 @@ các yêu cầu kéo. Nếu `gh` không được cài đặt hoặc không đư
545
543
  ### `require-ci-green-before-stop`
546
544
 
547
545
  **Sự kiện:** Stop
548
- **Mặc định:** Từ chối dừng khi các kiểm tra CI đang thất bại hoặc vẫn đang chạy trên nhánh hiện tại. Kiểm tra cả các lần chạy quy trình làm việc GitHub Actions và các kiểm tra bot của bên thứ ba (ví dụ: CodeRabbit, SonarCloud, Codecov). Coi kết luận `skipped` là thành công. Trả về thông báo thông tin khi tất cả các kiểm tra vượt qua.
546
+ **Mặc định:** Từ chối dừng khi các kiểm tra CI đang thất bại hoặc vẫn đang chạy trên nhánh hiện tại. Kiểm tra cả chạy quy trình làm việc GitHub Actions và kiểm tra bot của bên thứ ba (ví dụ: CodeRabbit, SonarCloud, Codecov). Coi `skipped` `cancelled` kết luận là thành công. Trả về thông báo thông tin khi tất cả các kiểm tra đều đạt.
549
547
 
550
548
  Không có tham số.
551
549
 
552
550
  <Note>
553
551
  Chính sách này yêu cầu [GitHub CLI](https://cli.github.com/) (`gh`) được cài đặt và xác thực.
554
- Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc đến
555
- các lần chạy quy trình làm việc Actions và API Checks. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fails open và báo cáo lý do cho Claude.
552
+ Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc các chạy quy trình làm việc Actions và API Kiểm tra. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách sẽ fail open và báo cáo lý do cho Claude.
556
553
  </Note>
557
554
 
558
555
  ---
@@ -561,7 +558,7 @@ các lần chạy quy trình làm việc Actions và API Checks. Nếu `gh` khô
561
558
 
562
559
  ## Vô hiệu hóa các chính sách riêng lẻ
563
560
 
564
- Xóa chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của bạn hoặc tắt nó trong tab Policies của dashboard.
561
+ Xóa một chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của bạn, hoặc tắt nó trong tab Chính sách của bảng điều khiển.
565
562
 
566
563
  ```json
567
564
  {
@@ -572,4 +569,4 @@ Xóa chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của b
572
569
  }
573
570
  ```
574
571
 
575
- Các chính sách không được liệt kê trong `enabledPolicies` không chạy, ngay cả khi các mục `policyParams` tồn tại cho chúng.
572
+ Các chính sách không được liệt kê trong `enabledPolicies` không chạy, ngay cả khi các mục `policyParams` tồn tại cho chúng.