ai-flow-dev 2.7.0 → 2.8.0

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 (171) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +573 -570
  3. package/package.json +74 -74
  4. package/prompts/backend/flow-build-phase-0.md +535 -535
  5. package/prompts/backend/flow-build-phase-1.md +626 -626
  6. package/prompts/backend/flow-build-phase-10.md +340 -340
  7. package/prompts/backend/flow-build-phase-2.md +573 -573
  8. package/prompts/backend/flow-build-phase-3.md +834 -834
  9. package/prompts/backend/flow-build-phase-4.md +554 -554
  10. package/prompts/backend/flow-build-phase-5.md +703 -703
  11. package/prompts/backend/flow-build-phase-6.md +524 -524
  12. package/prompts/backend/flow-build-phase-7.md +1001 -1001
  13. package/prompts/backend/flow-build-phase-8.md +1407 -1407
  14. package/prompts/backend/flow-build-phase-9.md +477 -477
  15. package/prompts/backend/flow-build.md +137 -137
  16. package/prompts/backend/flow-check-review.md +656 -20
  17. package/prompts/backend/flow-check-test.md +526 -14
  18. package/prompts/backend/flow-check.md +725 -67
  19. package/prompts/backend/flow-commit.md +88 -119
  20. package/prompts/backend/flow-docs-sync.md +354 -354
  21. package/prompts/backend/flow-finish.md +919 -0
  22. package/prompts/backend/flow-release.md +949 -0
  23. package/prompts/backend/flow-work-feature.md +61 -61
  24. package/prompts/backend/flow-work-fix.md +46 -46
  25. package/prompts/backend/flow-work-refactor.md +48 -48
  26. package/prompts/backend/flow-work-resume.md +34 -34
  27. package/prompts/backend/flow-work.md +1098 -1286
  28. package/prompts/desktop/flow-build-phase-0.md +359 -359
  29. package/prompts/desktop/flow-build-phase-1.md +295 -295
  30. package/prompts/desktop/flow-build-phase-10.md +357 -357
  31. package/prompts/desktop/flow-build-phase-2.md +282 -282
  32. package/prompts/desktop/flow-build-phase-3.md +291 -291
  33. package/prompts/desktop/flow-build-phase-4.md +308 -308
  34. package/prompts/desktop/flow-build-phase-5.md +269 -269
  35. package/prompts/desktop/flow-build-phase-6.md +350 -350
  36. package/prompts/desktop/flow-build-phase-7.md +297 -297
  37. package/prompts/desktop/flow-build-phase-8.md +541 -541
  38. package/prompts/desktop/flow-build-phase-9.md +439 -439
  39. package/prompts/desktop/flow-build.md +156 -156
  40. package/prompts/desktop/flow-check-review.md +656 -20
  41. package/prompts/desktop/flow-check-test.md +526 -14
  42. package/prompts/desktop/flow-check.md +725 -67
  43. package/prompts/desktop/flow-commit.md +88 -119
  44. package/prompts/desktop/flow-docs-sync.md +354 -354
  45. package/prompts/desktop/flow-finish.md +910 -0
  46. package/prompts/desktop/flow-release.md +662 -0
  47. package/prompts/desktop/flow-work-feature.md +61 -61
  48. package/prompts/desktop/flow-work-fix.md +46 -46
  49. package/prompts/desktop/flow-work-refactor.md +48 -48
  50. package/prompts/desktop/flow-work-resume.md +34 -34
  51. package/prompts/desktop/flow-work.md +1202 -1390
  52. package/prompts/frontend/flow-build-phase-0.md +425 -425
  53. package/prompts/frontend/flow-build-phase-1.md +626 -626
  54. package/prompts/frontend/flow-build-phase-10.md +33 -33
  55. package/prompts/frontend/flow-build-phase-2.md +573 -573
  56. package/prompts/frontend/flow-build-phase-3.md +782 -782
  57. package/prompts/frontend/flow-build-phase-4.md +554 -554
  58. package/prompts/frontend/flow-build-phase-5.md +703 -703
  59. package/prompts/frontend/flow-build-phase-6.md +524 -524
  60. package/prompts/frontend/flow-build-phase-7.md +1001 -1001
  61. package/prompts/frontend/flow-build-phase-8.md +872 -872
  62. package/prompts/frontend/flow-build-phase-9.md +94 -94
  63. package/prompts/frontend/flow-build.md +137 -137
  64. package/prompts/frontend/flow-check-review.md +656 -20
  65. package/prompts/frontend/flow-check-test.md +526 -14
  66. package/prompts/frontend/flow-check.md +725 -67
  67. package/prompts/frontend/flow-commit.md +88 -119
  68. package/prompts/frontend/flow-docs-sync.md +550 -550
  69. package/prompts/frontend/flow-finish.md +910 -0
  70. package/prompts/frontend/flow-release.md +519 -0
  71. package/prompts/frontend/flow-work-api.md +1540 -0
  72. package/prompts/frontend/flow-work-feature.md +61 -61
  73. package/prompts/frontend/flow-work-fix.md +38 -38
  74. package/prompts/frontend/flow-work-refactor.md +48 -48
  75. package/prompts/frontend/flow-work-resume.md +34 -34
  76. package/prompts/frontend/flow-work.md +1583 -1320
  77. package/prompts/mobile/flow-build-phase-0.md +425 -425
  78. package/prompts/mobile/flow-build-phase-1.md +626 -626
  79. package/prompts/mobile/flow-build-phase-10.md +32 -32
  80. package/prompts/mobile/flow-build-phase-2.md +573 -573
  81. package/prompts/mobile/flow-build-phase-3.md +782 -782
  82. package/prompts/mobile/flow-build-phase-4.md +554 -554
  83. package/prompts/mobile/flow-build-phase-5.md +703 -703
  84. package/prompts/mobile/flow-build-phase-6.md +524 -524
  85. package/prompts/mobile/flow-build-phase-7.md +1001 -1001
  86. package/prompts/mobile/flow-build-phase-8.md +888 -888
  87. package/prompts/mobile/flow-build-phase-9.md +90 -90
  88. package/prompts/mobile/flow-build.md +135 -135
  89. package/prompts/mobile/flow-check-review.md +656 -20
  90. package/prompts/mobile/flow-check-test.md +526 -14
  91. package/prompts/mobile/flow-check.md +725 -67
  92. package/prompts/mobile/flow-commit.md +88 -119
  93. package/prompts/mobile/flow-docs-sync.md +620 -620
  94. package/prompts/mobile/flow-finish.md +910 -0
  95. package/prompts/mobile/flow-release.md +751 -0
  96. package/prompts/mobile/flow-work-api.md +1493 -0
  97. package/prompts/mobile/flow-work-feature.md +61 -61
  98. package/prompts/mobile/flow-work-fix.md +46 -46
  99. package/prompts/mobile/flow-work-refactor.md +48 -48
  100. package/prompts/mobile/flow-work-resume.md +34 -34
  101. package/prompts/mobile/flow-work.md +1593 -1329
  102. package/prompts/shared/mermaid-guidelines.md +102 -102
  103. package/prompts/shared/scope-levels.md +114 -114
  104. package/prompts/shared/smart-skip-preflight.md +214 -214
  105. package/prompts/shared/story-points.md +55 -55
  106. package/prompts/shared/task-format.md +74 -74
  107. package/prompts/shared/task-summary-template.md +277 -277
  108. package/templates/AGENT.template.md +443 -443
  109. package/templates/backend/.clauderules.template +112 -112
  110. package/templates/backend/.cursorrules.template +102 -102
  111. package/templates/backend/README.template.md +2 -2
  112. package/templates/backend/ai-instructions.template.md +2 -2
  113. package/templates/backend/copilot-instructions.template.md +2 -2
  114. package/templates/backend/docs/api.template.md +320 -320
  115. package/templates/backend/docs/business-flows.template.md +97 -97
  116. package/templates/backend/docs/code-standards.template.md +2 -2
  117. package/templates/backend/docs/contributing.template.md +3 -3
  118. package/templates/backend/docs/data-model.template.md +520 -520
  119. package/templates/backend/docs/testing.template.md +2 -2
  120. package/templates/backend/project-brief.template.md +2 -2
  121. package/templates/backend/specs/configuration.template.md +2 -2
  122. package/templates/backend/specs/security.template.md +2 -2
  123. package/templates/desktop/.clauderules.template +112 -112
  124. package/templates/desktop/.cursorrules.template +102 -102
  125. package/templates/desktop/README.template.md +170 -170
  126. package/templates/desktop/ai-instructions.template.md +366 -366
  127. package/templates/desktop/copilot-instructions.template.md +140 -140
  128. package/templates/desktop/docs/docs/api.template.md +320 -320
  129. package/templates/desktop/docs/docs/architecture.template.md +724 -724
  130. package/templates/desktop/docs/docs/business-flows.template.md +102 -102
  131. package/templates/desktop/docs/docs/code-standards.template.md +792 -792
  132. package/templates/desktop/docs/docs/contributing.template.md +149 -149
  133. package/templates/desktop/docs/docs/data-model.template.md +520 -520
  134. package/templates/desktop/docs/docs/operations.template.md +720 -720
  135. package/templates/desktop/docs/docs/testing.template.md +722 -722
  136. package/templates/desktop/project-brief.template.md +150 -150
  137. package/templates/desktop/specs/specs/configuration.template.md +121 -121
  138. package/templates/desktop/specs/specs/security.template.md +392 -392
  139. package/templates/frontend/README.template.md +2 -2
  140. package/templates/frontend/ai-instructions.template.md +2 -2
  141. package/templates/frontend/docs/api-integration.template.md +362 -362
  142. package/templates/frontend/docs/components.template.md +2 -2
  143. package/templates/frontend/docs/error-handling.template.md +360 -360
  144. package/templates/frontend/docs/operations.template.md +107 -107
  145. package/templates/frontend/docs/performance.template.md +124 -124
  146. package/templates/frontend/docs/pwa.template.md +119 -119
  147. package/templates/frontend/docs/state-management.template.md +2 -2
  148. package/templates/frontend/docs/styling.template.md +2 -2
  149. package/templates/frontend/docs/testing.template.md +2 -2
  150. package/templates/frontend/project-brief.template.md +2 -2
  151. package/templates/frontend/specs/accessibility.template.md +95 -95
  152. package/templates/frontend/specs/configuration.template.md +2 -2
  153. package/templates/frontend/specs/security.template.md +175 -175
  154. package/templates/fullstack/README.template.md +252 -252
  155. package/templates/fullstack/ai-instructions.template.md +444 -444
  156. package/templates/fullstack/project-brief.template.md +157 -157
  157. package/templates/fullstack/specs/configuration.template.md +340 -340
  158. package/templates/mobile/README.template.md +167 -167
  159. package/templates/mobile/ai-instructions.template.md +196 -196
  160. package/templates/mobile/docs/app-store.template.md +135 -135
  161. package/templates/mobile/docs/architecture.template.md +63 -63
  162. package/templates/mobile/docs/native-features.template.md +94 -94
  163. package/templates/mobile/docs/navigation.template.md +59 -59
  164. package/templates/mobile/docs/offline-strategy.template.md +65 -65
  165. package/templates/mobile/docs/permissions.template.md +56 -56
  166. package/templates/mobile/docs/state-management.template.md +85 -85
  167. package/templates/mobile/docs/testing.template.md +109 -109
  168. package/templates/mobile/project-brief.template.md +69 -69
  169. package/templates/mobile/specs/build-configuration.template.md +91 -91
  170. package/templates/mobile/specs/deployment.template.md +92 -92
  171. package/templates/work.template.md +47 -47
@@ -1,392 +1,392 @@
1
- # Security Specifications
2
-
3
- > Security policies, authentication, authorization, and compliance for {{PROJECT_NAME}}
4
- ---
5
- ## 🔐 Authentication
6
-
7
- ### Method
8
-
9
- **Type:** {{AUTH_METHOD}}
10
-
11
- {{#IF JWT}}
12
- ### JWT Configuration
13
-
14
- **Access Token:**
15
- - Algorithm: {{JWT_ALGORITHM}}
16
- - Lifetime: {{ACCESS_TOKEN_LIFETIME}}
17
- - Storage: {{ACCESS_TOKEN_STORAGE}}
18
-
19
- **Refresh Token:**
20
- - Lifetime: {{REFRESH_TOKEN_LIFETIME}}
21
- - Storage: {{REFRESH_TOKEN_STORAGE}}
22
- - Rotation: {{REFRESH_TOKEN_ROTATION}}
23
-
24
- **Token Claims:**
25
- ```json
26
- {
27
- "sub": "{{TOKEN_CLAIM_SUB}}",
28
- "email": "{{TOKEN_CLAIM_EMAIL}}",
29
- "roles": {{TOKEN_CLAIM_ROLES}},
30
- "iat": 1234567890,
31
- "exp": 1234571490
32
- }
33
- ```
34
-
35
- **Example:**
36
- ```{{LANGUAGE}}
37
- {{JWT_IMPLEMENTATION_EXAMPLE}}
38
- ```
39
- {{/IF}}
40
-
41
- {{#IF OAUTH}}
42
- ### OAuth 2.0 / OpenID Connect
43
-
44
- **Providers:**
45
- {{#EACH OAUTH_PROVIDER}}
46
- - {{PROVIDER_NAME}}
47
- {{/EACH}}
48
-
49
- **Flow:** {{OAUTH_FLOW}}
50
-
51
- **Scopes:** {{OAUTH_SCOPES}}
52
-
53
- {{/IF}}
54
- ---
55
- ## 🛡️ Authorization
56
-
57
- ### Model
58
-
59
- **Type:** {{AUTHORIZATION_MODEL}}
60
-
61
- {{#IF RBAC}}
62
- ### Roles
63
-
64
- {{#EACH ROLE}}
65
- #### {{ROLE_NAME}}
66
-
67
- **Description:** {{ROLE_DESCRIPTION}}
68
-
69
- **Permissions:**
70
- {{#EACH PERMISSION}}
71
- - {{PERMISSION_DESCRIPTION}}
72
- {{/EACH}}
73
-
74
- {{/EACH}}
75
-
76
- ### Permission Checking
77
-
78
- ```{{LANGUAGE}}
79
- {{PERMISSION_CHECK_EXAMPLE}}
80
- ```
81
-
82
- {{/IF}}
83
-
84
- {{#IF ABAC}}
85
- ### Attribute-Based Rules
86
-
87
- {{#EACH ABAC_RULE}}
88
- - {{RULE_DESCRIPTION}}
89
- {{/EACH}}
90
-
91
- {{/IF}}
92
- ---
93
- ## 🔑 Password Policy
94
-
95
- **Requirements:**
96
- - Minimum length: {{PASSWORD_MIN_LENGTH}} characters
97
- - {{#IF PASSWORD_UPPERCASE}}Uppercase letter required{{/IF}}
98
- - {{#IF PASSWORD_LOWERCASE}}Lowercase letter required{{/IF}}
99
- - {{#IF PASSWORD_NUMBER}}Number required{{/IF}}
100
- - {{#IF PASSWORD_SPECIAL}}Special character required{{/IF}}
101
-
102
- **Hashing:**
103
- - Algorithm: {{PASSWORD_HASH_ALGORITHM}}
104
- - Rounds/Cost: {{PASSWORD_HASH_ROUNDS}}
105
-
106
- **Example:**
107
- ```{{LANGUAGE}}
108
- {{PASSWORD_HASHING_EXAMPLE}}
109
- ```
110
- ---
111
- ## 🚦 Rate Limiting
112
-
113
- **Strategy:** {{RATE_LIMIT_STRATEGY}}
114
-
115
- {{#EACH RATE_LIMIT_RULE}}
116
- ### {{ENDPOINT_PATTERN}}
117
-
118
- - Limit: {{RATE_LIMIT_COUNT}} requests per {{RATE_LIMIT_WINDOW}}
119
- - Key: {{RATE_LIMIT_KEY}}
120
- - Response: {{RATE_LIMIT_RESPONSE}}
121
-
122
- {{/EACH}}
123
-
124
- **Implementation:**
125
- ```{{LANGUAGE}}
126
- {{RATE_LIMIT_IMPLEMENTATION}}
127
- ```
128
- ---
129
- ## 🌐 CORS Policy
130
-
131
- **Allowed Origins:**
132
- {{#EACH CORS_ORIGIN}}
133
- - {{ORIGIN_URL}}
134
- {{/EACH}}
135
-
136
- **Allowed Methods:** {{CORS_METHODS}}
137
-
138
- **Allowed Headers:** {{CORS_HEADERS}}
139
-
140
- **Credentials:** {{CORS_CREDENTIALS}}
141
-
142
- **Max Age:** {{CORS_MAX_AGE}} seconds
143
- ---
144
- ## 🔒 Data Encryption
145
-
146
- ### In Transit
147
-
148
- **Protocol:** TLS {{TLS_VERSION}}+
149
-
150
- **Certificate:** {{TLS_CERTIFICATE}}
151
-
152
- **HSTS:** {{#IF HSTS}}Enabled (max-age: {{HSTS_MAX_AGE}}){{ELSE}}Disabled{{/IF}}
153
-
154
- ### At Rest
155
-
156
- {{#IF ENCRYPTION_AT_REST}}
157
- **Encrypted Fields:**
158
- {{#EACH ENCRYPTED_FIELD}}
159
- - `{{TABLE_NAME}}.{{FIELD_NAME}}` - {{ENCRYPTION_REASON}}
160
- {{/EACH}}
161
-
162
- **Algorithm:** {{ENCRYPTION_ALGORITHM}}
163
-
164
- **Key Management:** {{KEY_MANAGEMENT}}
165
-
166
- **Example:**
167
- ```{{LANGUAGE}}
168
- {{ENCRYPTION_EXAMPLE}}
169
- ```
170
-
171
- {{ELSE}}
172
- **Status:** Not implemented yet
173
-
174
- {{/IF}}
175
- ---
176
- ## 🛡️ Security Headers
177
-
178
- {{#EACH SECURITY_HEADER}}
179
- ### {{HEADER_NAME}}
180
-
181
- **Value:** `{{HEADER_VALUE}}`
182
-
183
- **Purpose:** {{HEADER_PURPOSE}}
184
-
185
- {{/EACH}}
186
-
187
- **Implementation:**
188
- ```{{LANGUAGE}}
189
- {{SECURITY_HEADERS_IMPLEMENTATION}}
190
- ```
191
- ---
192
- ## ✅ Input Validation
193
-
194
- **Library:** {{VALIDATION_LIBRARY}}
195
-
196
- **Rules:**
197
- - ✅ Validate all user input
198
- - ✅ Whitelist allowed values
199
- - ✅ Sanitize before database queries
200
- - ✅ Use parameterized queries
201
- - ❌ Never trust client data
202
-
203
- **Example:**
204
- ```{{LANGUAGE}}
205
- {{INPUT_VALIDATION_EXAMPLE}}
206
- ```
207
- ---
208
- ## 🚫 Security Vulnerabilities Prevention
209
-
210
- ### SQL Injection
211
-
212
- ```{{LANGUAGE}}
213
- {{SQL_INJECTION_PREVENTION}}
214
- ```
215
-
216
- ### XSS (Cross-Site Scripting)
217
-
218
- ```{{LANGUAGE}}
219
- {{XSS_PREVENTION}}
220
- ```
221
-
222
- ### CSRF (Cross-Site Request Forgery)
223
-
224
- {{CSRF_PREVENTION_STRATEGY}}
225
- ---
226
- ## 📜 Compliance
227
-
228
- {{#EACH COMPLIANCE_REQ}}
229
- ### {{COMPLIANCE_NAME}}
230
-
231
- **Applicable:** {{IS_APPLICABLE}}
232
-
233
- **Requirements:**
234
- {{#EACH REQUIREMENT}}
235
- - {{REQUIREMENT_DESCRIPTION}}
236
- {{/EACH}}
237
-
238
- **Implementation:**
239
- {{COMPLIANCE_IMPLEMENTATION}}
240
-
241
- {{/EACH}}
242
- ---
243
- ## 📝 Audit Logging
244
-
245
- **What We Log:**
246
- {{#EACH AUDIT_LOG_EVENT}}
247
- - {{EVENT_DESCRIPTION}}
248
- {{/EACH}}
249
-
250
- **Retention:** {{AUDIT_LOG_RETENTION}}
251
-
252
- **Format:**
253
- ```json
254
- {{AUDIT_LOG_FORMAT}}
255
- ```
256
- ---
257
- ## 🔒 Secrets Management
258
-
259
- **Tool:** {{SECRETS_MANAGER}}
260
-
261
- **Secrets Stored:**
262
- {{#EACH SECRET}}
263
- - {{SECRET_NAME}} - {{SECRET_PURPOSE}}
264
- {{/EACH}}
265
-
266
- **Access Policy:** {{SECRETS_ACCESS_POLICY}}
267
-
268
- **Rotation:** {{SECRETS_ROTATION}}
269
- ---
270
- ## 🔑 API Keys Management
271
-
272
- {{#IF API_KEYS_ENABLED}}
273
- **Enabled:** Yes
274
-
275
- **Use Cases:**
276
- {{#EACH API_KEY_USE_CASE}}
277
- - {{USE_CASE_DESCRIPTION}}
278
- {{/EACH}}
279
-
280
- ### Key Generation
281
-
282
- **Format:** {{API_KEY_FORMAT}}
283
-
284
- **Length:** {{API_KEY_LENGTH}} characters
285
-
286
- **Prefix:** {{API_KEY_PREFIX}}
287
-
288
- **Example:**
289
- ```{{LANGUAGE}}
290
- {{API_KEY_GENERATION_EXAMPLE}}
291
- ```
292
-
293
- ### Key Storage
294
-
295
- **Location:** {{API_KEY_STORAGE}} ({{#IF HASHED}}Hashed{{ELSE}}Plain text{{/IF}})
296
-
297
- **Hashing Algorithm:** {{API_KEY_HASH_ALGORITHM}}
298
-
299
- ### Key Rotation
300
-
301
- **Strategy:** {{API_KEY_ROTATION_STRATEGY}}
302
-
303
- **Frequency:** {{API_KEY_ROTATION_FREQUENCY}}
304
-
305
- **Process:**
306
- {{#EACH API_KEY_ROTATION_STEP}}
307
- {{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
308
- {{/EACH}}
309
-
310
- ### Key Revocation
311
-
312
- **Revocation Process:**
313
- {{#EACH API_KEY_REVOCATION_STEP}}
314
- {{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
315
- {{/EACH}}
316
-
317
- **Revocation Reasons:**
318
- - Compromised key
319
- - Key expiration
320
- - User request
321
- - Security incident
322
-
323
- ### Rate Limiting by API Key
324
-
325
- **Limits:**
326
- {{#EACH API_KEY_RATE_LIMIT}}
327
- - **{{KEY_TIER}}**: {{LIMIT_COUNT}} requests per {{LIMIT_WINDOW}}
328
- {{/EACH}}
329
-
330
- {{ELSE}}
331
- **API Keys:** Not used - Authentication via JWT/Sessions only
332
- {{/IF}}
333
- ---
334
- ## 🔍 Dependency Security
335
-
336
- **Scanning Tool:** {{DEPENDENCY_SCANNER}}
337
-
338
- **Frequency:** {{SCAN_FREQUENCY}}
339
-
340
- **Automated Scanning:** {{#IF AUTO_SCAN}}Enabled{{ELSE}}Manual{{/IF}}
341
-
342
- ### Vulnerability Management
343
-
344
- **Process:**
345
- {{#EACH VULN_MANAGEMENT_STEP}}
346
- {{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
347
- {{/EACH}}
348
-
349
- **Severity Levels:**
350
- - **Critical**: Fix within 24 hours
351
- - **High**: Fix within 7 days
352
- - **Medium**: Fix within 30 days
353
- - **Low**: Fix in next release
354
-
355
- ### Security Audit Commands
356
-
357
- ```bash
358
- # Check for vulnerabilities
359
- {{SECURITY_AUDIT_COMMAND}}
360
-
361
- # Fix automatically fixable issues
362
- {{SECURITY_FIX_COMMAND}}
363
-
364
- # Update dependencies
365
- {{DEPENDENCY_UPDATE_COMMAND}}
366
- ```
367
-
368
- ### Dependency Update Policy
369
-
370
- - ✅ Review changelogs before updating
371
- - ✅ Test updates in staging first
372
- - ✅ Pin exact versions in production
373
- - ✅ Regular security audits ({{AUDIT_FREQUENCY}})
374
- - ❌ Don't ignore critical vulnerabilities
375
- - ❌ Don't update without testing
376
- ---
377
- ## 🚨 Security Incident Response
378
-
379
- **Contact:** {{SECURITY_CONTACT}}
380
-
381
- **Process:**
382
- {{#EACH INCIDENT_STEP}}
383
- {{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
384
- {{/EACH}}
385
- ---
386
- **Document Version:** 1.0
387
-
388
- **Last Updated:** {{GENERATION_DATE}}
389
-
390
- **Generated by:** AI Flow v1.0.0
391
-
392
-
1
+ # Security Specifications
2
+
3
+ > Security policies, authentication, authorization, and compliance for {{PROJECT_NAME}}
4
+ ---
5
+ ## 🔐 Authentication
6
+
7
+ ### Method
8
+
9
+ **Type:** {{AUTH_METHOD}}
10
+
11
+ {{#IF JWT}}
12
+ ### JWT Configuration
13
+
14
+ **Access Token:**
15
+ - Algorithm: {{JWT_ALGORITHM}}
16
+ - Lifetime: {{ACCESS_TOKEN_LIFETIME}}
17
+ - Storage: {{ACCESS_TOKEN_STORAGE}}
18
+
19
+ **Refresh Token:**
20
+ - Lifetime: {{REFRESH_TOKEN_LIFETIME}}
21
+ - Storage: {{REFRESH_TOKEN_STORAGE}}
22
+ - Rotation: {{REFRESH_TOKEN_ROTATION}}
23
+
24
+ **Token Claims:**
25
+ ```json
26
+ {
27
+ "sub": "{{TOKEN_CLAIM_SUB}}",
28
+ "email": "{{TOKEN_CLAIM_EMAIL}}",
29
+ "roles": {{TOKEN_CLAIM_ROLES}},
30
+ "iat": 1234567890,
31
+ "exp": 1234571490
32
+ }
33
+ ```
34
+
35
+ **Example:**
36
+ ```{{LANGUAGE}}
37
+ {{JWT_IMPLEMENTATION_EXAMPLE}}
38
+ ```
39
+ {{/IF}}
40
+
41
+ {{#IF OAUTH}}
42
+ ### OAuth 2.0 / OpenID Connect
43
+
44
+ **Providers:**
45
+ {{#EACH OAUTH_PROVIDER}}
46
+ - {{PROVIDER_NAME}}
47
+ {{/EACH}}
48
+
49
+ **Flow:** {{OAUTH_FLOW}}
50
+
51
+ **Scopes:** {{OAUTH_SCOPES}}
52
+
53
+ {{/IF}}
54
+ ---
55
+ ## 🛡️ Authorization
56
+
57
+ ### Model
58
+
59
+ **Type:** {{AUTHORIZATION_MODEL}}
60
+
61
+ {{#IF RBAC}}
62
+ ### Roles
63
+
64
+ {{#EACH ROLE}}
65
+ #### {{ROLE_NAME}}
66
+
67
+ **Description:** {{ROLE_DESCRIPTION}}
68
+
69
+ **Permissions:**
70
+ {{#EACH PERMISSION}}
71
+ - {{PERMISSION_DESCRIPTION}}
72
+ {{/EACH}}
73
+
74
+ {{/EACH}}
75
+
76
+ ### Permission Checking
77
+
78
+ ```{{LANGUAGE}}
79
+ {{PERMISSION_CHECK_EXAMPLE}}
80
+ ```
81
+
82
+ {{/IF}}
83
+
84
+ {{#IF ABAC}}
85
+ ### Attribute-Based Rules
86
+
87
+ {{#EACH ABAC_RULE}}
88
+ - {{RULE_DESCRIPTION}}
89
+ {{/EACH}}
90
+
91
+ {{/IF}}
92
+ ---
93
+ ## 🔑 Password Policy
94
+
95
+ **Requirements:**
96
+ - Minimum length: {{PASSWORD_MIN_LENGTH}} characters
97
+ - {{#IF PASSWORD_UPPERCASE}}Uppercase letter required{{/IF}}
98
+ - {{#IF PASSWORD_LOWERCASE}}Lowercase letter required{{/IF}}
99
+ - {{#IF PASSWORD_NUMBER}}Number required{{/IF}}
100
+ - {{#IF PASSWORD_SPECIAL}}Special character required{{/IF}}
101
+
102
+ **Hashing:**
103
+ - Algorithm: {{PASSWORD_HASH_ALGORITHM}}
104
+ - Rounds/Cost: {{PASSWORD_HASH_ROUNDS}}
105
+
106
+ **Example:**
107
+ ```{{LANGUAGE}}
108
+ {{PASSWORD_HASHING_EXAMPLE}}
109
+ ```
110
+ ---
111
+ ## 🚦 Rate Limiting
112
+
113
+ **Strategy:** {{RATE_LIMIT_STRATEGY}}
114
+
115
+ {{#EACH RATE_LIMIT_RULE}}
116
+ ### {{ENDPOINT_PATTERN}}
117
+
118
+ - Limit: {{RATE_LIMIT_COUNT}} requests per {{RATE_LIMIT_WINDOW}}
119
+ - Key: {{RATE_LIMIT_KEY}}
120
+ - Response: {{RATE_LIMIT_RESPONSE}}
121
+
122
+ {{/EACH}}
123
+
124
+ **Implementation:**
125
+ ```{{LANGUAGE}}
126
+ {{RATE_LIMIT_IMPLEMENTATION}}
127
+ ```
128
+ ---
129
+ ## 🌐 CORS Policy
130
+
131
+ **Allowed Origins:**
132
+ {{#EACH CORS_ORIGIN}}
133
+ - {{ORIGIN_URL}}
134
+ {{/EACH}}
135
+
136
+ **Allowed Methods:** {{CORS_METHODS}}
137
+
138
+ **Allowed Headers:** {{CORS_HEADERS}}
139
+
140
+ **Credentials:** {{CORS_CREDENTIALS}}
141
+
142
+ **Max Age:** {{CORS_MAX_AGE}} seconds
143
+ ---
144
+ ## 🔒 Data Encryption
145
+
146
+ ### In Transit
147
+
148
+ **Protocol:** TLS {{TLS_VERSION}}+
149
+
150
+ **Certificate:** {{TLS_CERTIFICATE}}
151
+
152
+ **HSTS:** {{#IF HSTS}}Enabled (max-age: {{HSTS_MAX_AGE}}){{ELSE}}Disabled{{/IF}}
153
+
154
+ ### At Rest
155
+
156
+ {{#IF ENCRYPTION_AT_REST}}
157
+ **Encrypted Fields:**
158
+ {{#EACH ENCRYPTED_FIELD}}
159
+ - `{{TABLE_NAME}}.{{FIELD_NAME}}` - {{ENCRYPTION_REASON}}
160
+ {{/EACH}}
161
+
162
+ **Algorithm:** {{ENCRYPTION_ALGORITHM}}
163
+
164
+ **Key Management:** {{KEY_MANAGEMENT}}
165
+
166
+ **Example:**
167
+ ```{{LANGUAGE}}
168
+ {{ENCRYPTION_EXAMPLE}}
169
+ ```
170
+
171
+ {{ELSE}}
172
+ **Status:** Not implemented yet
173
+
174
+ {{/IF}}
175
+ ---
176
+ ## 🛡️ Security Headers
177
+
178
+ {{#EACH SECURITY_HEADER}}
179
+ ### {{HEADER_NAME}}
180
+
181
+ **Value:** `{{HEADER_VALUE}}`
182
+
183
+ **Purpose:** {{HEADER_PURPOSE}}
184
+
185
+ {{/EACH}}
186
+
187
+ **Implementation:**
188
+ ```{{LANGUAGE}}
189
+ {{SECURITY_HEADERS_IMPLEMENTATION}}
190
+ ```
191
+ ---
192
+ ## ✅ Input Validation
193
+
194
+ **Library:** {{VALIDATION_LIBRARY}}
195
+
196
+ **Rules:**
197
+ - ✅ Validate all user input
198
+ - ✅ Whitelist allowed values
199
+ - ✅ Sanitize before database queries
200
+ - ✅ Use parameterized queries
201
+ - ❌ Never trust client data
202
+
203
+ **Example:**
204
+ ```{{LANGUAGE}}
205
+ {{INPUT_VALIDATION_EXAMPLE}}
206
+ ```
207
+ ---
208
+ ## 🚫 Security Vulnerabilities Prevention
209
+
210
+ ### SQL Injection
211
+
212
+ ```{{LANGUAGE}}
213
+ {{SQL_INJECTION_PREVENTION}}
214
+ ```
215
+
216
+ ### XSS (Cross-Site Scripting)
217
+
218
+ ```{{LANGUAGE}}
219
+ {{XSS_PREVENTION}}
220
+ ```
221
+
222
+ ### CSRF (Cross-Site Request Forgery)
223
+
224
+ {{CSRF_PREVENTION_STRATEGY}}
225
+ ---
226
+ ## 📜 Compliance
227
+
228
+ {{#EACH COMPLIANCE_REQ}}
229
+ ### {{COMPLIANCE_NAME}}
230
+
231
+ **Applicable:** {{IS_APPLICABLE}}
232
+
233
+ **Requirements:**
234
+ {{#EACH REQUIREMENT}}
235
+ - {{REQUIREMENT_DESCRIPTION}}
236
+ {{/EACH}}
237
+
238
+ **Implementation:**
239
+ {{COMPLIANCE_IMPLEMENTATION}}
240
+
241
+ {{/EACH}}
242
+ ---
243
+ ## 📝 Audit Logging
244
+
245
+ **What We Log:**
246
+ {{#EACH AUDIT_LOG_EVENT}}
247
+ - {{EVENT_DESCRIPTION}}
248
+ {{/EACH}}
249
+
250
+ **Retention:** {{AUDIT_LOG_RETENTION}}
251
+
252
+ **Format:**
253
+ ```json
254
+ {{AUDIT_LOG_FORMAT}}
255
+ ```
256
+ ---
257
+ ## 🔒 Secrets Management
258
+
259
+ **Tool:** {{SECRETS_MANAGER}}
260
+
261
+ **Secrets Stored:**
262
+ {{#EACH SECRET}}
263
+ - {{SECRET_NAME}} - {{SECRET_PURPOSE}}
264
+ {{/EACH}}
265
+
266
+ **Access Policy:** {{SECRETS_ACCESS_POLICY}}
267
+
268
+ **Rotation:** {{SECRETS_ROTATION}}
269
+ ---
270
+ ## 🔑 API Keys Management
271
+
272
+ {{#IF API_KEYS_ENABLED}}
273
+ **Enabled:** Yes
274
+
275
+ **Use Cases:**
276
+ {{#EACH API_KEY_USE_CASE}}
277
+ - {{USE_CASE_DESCRIPTION}}
278
+ {{/EACH}}
279
+
280
+ ### Key Generation
281
+
282
+ **Format:** {{API_KEY_FORMAT}}
283
+
284
+ **Length:** {{API_KEY_LENGTH}} characters
285
+
286
+ **Prefix:** {{API_KEY_PREFIX}}
287
+
288
+ **Example:**
289
+ ```{{LANGUAGE}}
290
+ {{API_KEY_GENERATION_EXAMPLE}}
291
+ ```
292
+
293
+ ### Key Storage
294
+
295
+ **Location:** {{API_KEY_STORAGE}} ({{#IF HASHED}}Hashed{{ELSE}}Plain text{{/IF}})
296
+
297
+ **Hashing Algorithm:** {{API_KEY_HASH_ALGORITHM}}
298
+
299
+ ### Key Rotation
300
+
301
+ **Strategy:** {{API_KEY_ROTATION_STRATEGY}}
302
+
303
+ **Frequency:** {{API_KEY_ROTATION_FREQUENCY}}
304
+
305
+ **Process:**
306
+ {{#EACH API_KEY_ROTATION_STEP}}
307
+ {{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
308
+ {{/EACH}}
309
+
310
+ ### Key Revocation
311
+
312
+ **Revocation Process:**
313
+ {{#EACH API_KEY_REVOCATION_STEP}}
314
+ {{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
315
+ {{/EACH}}
316
+
317
+ **Revocation Reasons:**
318
+ - Compromised key
319
+ - Key expiration
320
+ - User request
321
+ - Security incident
322
+
323
+ ### Rate Limiting by API Key
324
+
325
+ **Limits:**
326
+ {{#EACH API_KEY_RATE_LIMIT}}
327
+ - **{{KEY_TIER}}**: {{LIMIT_COUNT}} requests per {{LIMIT_WINDOW}}
328
+ {{/EACH}}
329
+
330
+ {{ELSE}}
331
+ **API Keys:** Not used - Authentication via JWT/Sessions only
332
+ {{/IF}}
333
+ ---
334
+ ## 🔍 Dependency Security
335
+
336
+ **Scanning Tool:** {{DEPENDENCY_SCANNER}}
337
+
338
+ **Frequency:** {{SCAN_FREQUENCY}}
339
+
340
+ **Automated Scanning:** {{#IF AUTO_SCAN}}Enabled{{ELSE}}Manual{{/IF}}
341
+
342
+ ### Vulnerability Management
343
+
344
+ **Process:**
345
+ {{#EACH VULN_MANAGEMENT_STEP}}
346
+ {{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
347
+ {{/EACH}}
348
+
349
+ **Severity Levels:**
350
+ - **Critical**: Fix within 24 hours
351
+ - **High**: Fix within 7 days
352
+ - **Medium**: Fix within 30 days
353
+ - **Low**: Fix in next release
354
+
355
+ ### Security Audit Commands
356
+
357
+ ```bash
358
+ # Check for vulnerabilities
359
+ {{SECURITY_AUDIT_COMMAND}}
360
+
361
+ # Fix automatically fixable issues
362
+ {{SECURITY_FIX_COMMAND}}
363
+
364
+ # Update dependencies
365
+ {{DEPENDENCY_UPDATE_COMMAND}}
366
+ ```
367
+
368
+ ### Dependency Update Policy
369
+
370
+ - ✅ Review changelogs before updating
371
+ - ✅ Test updates in staging first
372
+ - ✅ Pin exact versions in production
373
+ - ✅ Regular security audits ({{AUDIT_FREQUENCY}})
374
+ - ❌ Don't ignore critical vulnerabilities
375
+ - ❌ Don't update without testing
376
+ ---
377
+ ## 🚨 Security Incident Response
378
+
379
+ **Contact:** {{SECURITY_CONTACT}}
380
+
381
+ **Process:**
382
+ {{#EACH INCIDENT_STEP}}
383
+ {{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
384
+ {{/EACH}}
385
+ ---
386
+ **Document Version:** 1.0
387
+
388
+ **Last Updated:** {{GENERATION_DATE}}
389
+
390
+ **Generated by:** AI Flow v1.0.0
391
+
392
+