superkit-mcp-server 1.2.2 → 1.2.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 (170) hide show
  1. package/ARCHITECTURE.md +102 -102
  2. package/README.md +71 -71
  3. package/SUPERKIT.md +168 -168
  4. package/agents/code-archaeologist.md +106 -106
  5. package/agents/coder.md +90 -90
  6. package/agents/data-engineer.md +28 -28
  7. package/agents/devops-engineer.md +242 -242
  8. package/agents/git-manager.md +203 -203
  9. package/agents/orchestrator.md +420 -420
  10. package/agents/penetration-tester.md +188 -188
  11. package/agents/performance-optimizer.md +187 -187
  12. package/agents/planner.md +270 -270
  13. package/agents/qa-automation-engineer.md +103 -103
  14. package/agents/quant-developer.md +32 -32
  15. package/agents/reviewer.md +100 -100
  16. package/agents/scout.md +222 -222
  17. package/agents/security-auditor.md +3 -2
  18. package/agents/tester.md +274 -274
  19. package/agents/ui-designer.md +208 -208
  20. package/build/index.js +18 -9
  21. package/build/tools/__tests__/loggerTools.test.js +5 -5
  22. package/build/tools/archTools.js +2 -19
  23. package/build/tools/autoPreview.js +2 -2
  24. package/build/tools/compoundTools.js +4 -4
  25. package/build/tools/docsTools.js +5 -10
  26. package/build/tools/loggerTools.js +1 -1
  27. package/build/tools/todoTools.js +39 -39
  28. package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
  29. package/build/tools/validators/__tests__/convertRules.test.js +5 -5
  30. package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
  31. package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
  32. package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
  33. package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
  34. package/build/tools/validators/__tests__/securityScan.test.js +6 -6
  35. package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
  36. package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
  37. package/build/tools/validators/convertRules.js +2 -2
  38. package/commands/README.md +122 -122
  39. package/commands/ask.toml +72 -72
  40. package/commands/brainstorm.toml +119 -119
  41. package/commands/chat.toml +77 -77
  42. package/commands/code-preview.toml +37 -37
  43. package/commands/code.toml +28 -28
  44. package/commands/content.toml +200 -200
  45. package/commands/cook.toml +77 -77
  46. package/commands/copywrite.toml +131 -131
  47. package/commands/db.toml +192 -192
  48. package/commands/debug.toml +166 -166
  49. package/commands/design.toml +158 -158
  50. package/commands/dev-rules.toml +14 -14
  51. package/commands/do.toml +117 -117
  52. package/commands/doc-rules.toml +14 -14
  53. package/commands/docs.toml +148 -148
  54. package/commands/fix.toml +440 -440
  55. package/commands/fullstack.toml +175 -175
  56. package/commands/git.toml +235 -235
  57. package/commands/help.toml +84 -84
  58. package/commands/integrate.toml +127 -127
  59. package/commands/journal.toml +136 -136
  60. package/commands/kit-setup.toml +40 -40
  61. package/commands/mcp.toml +183 -183
  62. package/commands/orchestration.toml +15 -15
  63. package/commands/plan.toml +171 -171
  64. package/commands/pm.toml +148 -148
  65. package/commands/pr.toml +50 -50
  66. package/commands/project.toml +32 -32
  67. package/commands/research.toml +117 -117
  68. package/commands/review-pr.toml +63 -63
  69. package/commands/review.toml +190 -190
  70. package/commands/scout-ext.toml +97 -97
  71. package/commands/scout.toml +79 -79
  72. package/commands/screenshot.toml +65 -65
  73. package/commands/session.toml +102 -102
  74. package/commands/skill.toml +384 -384
  75. package/commands/status.toml +22 -22
  76. package/commands/team.toml +56 -56
  77. package/commands/test.toml +164 -164
  78. package/commands/ticket.toml +70 -70
  79. package/commands/use.toml +106 -106
  80. package/commands/video.toml +83 -83
  81. package/commands/watzup.toml +71 -71
  82. package/commands/workflow.toml +14 -14
  83. package/package.json +35 -35
  84. package/skills/meta/README.md +30 -30
  85. package/skills/meta/api-design/SKILL.md +134 -134
  86. package/skills/meta/code-review/SKILL.md +44 -44
  87. package/skills/meta/code-review/checklists/pre-merge.md +25 -25
  88. package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
  89. package/skills/meta/code-review/workflows/performance-pass.md +27 -27
  90. package/skills/meta/code-review/workflows/security-pass.md +29 -29
  91. package/skills/meta/compound-docs/SKILL.md +133 -133
  92. package/skills/meta/debug/SKILL.md +40 -40
  93. package/skills/meta/debug/templates/bug-report.template.md +31 -31
  94. package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
  95. package/skills/meta/docker/SKILL.md +126 -126
  96. package/skills/meta/examples/supabase/SKILL.md +46 -46
  97. package/skills/meta/examples/supabase/references/best-practices.md +319 -319
  98. package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
  99. package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
  100. package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
  101. package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
  102. package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
  103. package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
  104. package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
  105. package/skills/meta/file-todos/SKILL.md +88 -88
  106. package/skills/meta/mobile/SKILL.md +140 -140
  107. package/skills/meta/nextjs/SKILL.md +101 -101
  108. package/skills/meta/performance/SKILL.md +130 -130
  109. package/skills/meta/react-patterns/SKILL.md +83 -83
  110. package/skills/meta/security/SKILL.md +114 -114
  111. package/skills/meta/session-resume/SKILL.md +96 -96
  112. package/skills/meta/tailwind/SKILL.md +139 -139
  113. package/skills/meta/testing/SKILL.md +43 -43
  114. package/skills/meta/testing/references/vitest-patterns.md +45 -45
  115. package/skills/meta/testing/templates/component-test.template.tsx +37 -37
  116. package/skills/tech/alpha-vantage/SKILL.md +142 -142
  117. package/skills/tech/alpha-vantage/references/commodities.md +153 -153
  118. package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
  119. package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
  120. package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
  121. package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
  122. package/skills/tech/alpha-vantage/references/options.md +93 -93
  123. package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
  124. package/skills/tech/alpha-vantage/references/time-series.md +157 -157
  125. package/skills/tech/doc.md +6 -6
  126. package/skills/tech/financial-modeling/SKILL.md +18 -18
  127. package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
  128. package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
  129. package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
  130. package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
  131. package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
  132. package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
  133. package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
  134. package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
  135. package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
  136. package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
  137. package/skills/workflows/README.md +203 -203
  138. package/skills/workflows/adr.md +174 -174
  139. package/skills/workflows/changelog.md +74 -74
  140. package/skills/workflows/compound.md +323 -323
  141. package/skills/workflows/compound_health.md +74 -74
  142. package/skills/workflows/create-agent-skill.md +138 -139
  143. package/skills/workflows/cycle.md +144 -144
  144. package/skills/workflows/deploy-docs.md +84 -84
  145. package/skills/workflows/development-rules.md +42 -42
  146. package/skills/workflows/doc.md +95 -95
  147. package/skills/workflows/documentation-management.md +34 -34
  148. package/skills/workflows/explore.md +146 -146
  149. package/skills/workflows/generate_command.md +106 -106
  150. package/skills/workflows/heal-skill.md +97 -97
  151. package/skills/workflows/housekeeping.md +229 -229
  152. package/skills/workflows/kit-setup.md +102 -102
  153. package/skills/workflows/map-codebase.md +78 -78
  154. package/skills/workflows/orchestration-protocol.md +43 -43
  155. package/skills/workflows/plan-compound.md +439 -439
  156. package/skills/workflows/plan_review.md +269 -269
  157. package/skills/workflows/primary-workflow.md +37 -37
  158. package/skills/workflows/promote_pattern.md +86 -86
  159. package/skills/workflows/release-docs.md +82 -82
  160. package/skills/workflows/report-bug.md +135 -135
  161. package/skills/workflows/reproduce-bug.md +118 -118
  162. package/skills/workflows/resolve_pr.md +133 -133
  163. package/skills/workflows/resolve_todo.md +128 -128
  164. package/skills/workflows/review-compound.md +376 -376
  165. package/skills/workflows/skill-review.md +127 -127
  166. package/skills/workflows/specs.md +257 -257
  167. package/skills/workflows/triage-sprint.md +102 -102
  168. package/skills/workflows/triage.md +152 -152
  169. package/skills/workflows/work.md +399 -399
  170. package/skills/workflows/xcode-test.md +93 -93
@@ -1,244 +1,244 @@
1
- # Row Level Security (RLS) Policy Design
2
-
3
- Systematic approach to designing and implementing secure RLS policies in Supabase.
4
-
5
- ## When To Use
6
-
7
- - Creating new tables with sensitive data
8
- - Implementing multi-tenancy
9
- - Setting up role-based access control
10
- - Reviewing security requirements
11
-
12
- ---
13
-
14
- ## Prerequisites
15
-
16
- - [ ] Understand data access requirements
17
- - [ ] Know user roles and permissions
18
- - [ ] Have auth.uid() available (Supabase auth enabled)
19
-
20
- ---
21
-
22
- ## Workflow
23
-
24
- ### Step 1: Define Access Requirements
25
-
26
- **Questions to answer:**
27
-
28
- 1. **Who can READ this data?**
29
- - Own data only?
30
- - All users in same fund?
31
- - Fund managers only?
32
- - Public data?
33
-
34
- 2. **Who can WRITE (INSERT/UPDATE/DELETE)?**
35
- - Owner only?
36
- - Fund managers?
37
- - System/service role only?
38
-
39
- 3. **What's the ownership model?**
40
- - User-owned (profiles, preferences)
41
- - Fund-owned (investments, transactions)
42
- - Shared (multi-tenancy)
43
-
44
- ---
45
-
46
- ### Step 2: Enable RLS on Table
47
-
48
- ```sql
49
- -- Always enable RLS first
50
- ALTER TABLE schema.table ENABLE ROW LEVEL SECURITY;
51
- ```
52
-
53
- > **Critical:** Without RLS enabled, data is publicly accessible!
54
-
55
- ---
56
-
57
- ### Step 3: Implement Policies
58
-
59
- **Choose the appropriate pattern:**
60
-
61
- #### Pattern A: User Owns Data
62
-
63
- ```sql
64
- -- Policy: Users can view own data
65
- CREATE POLICY "Users can view own data"
66
- ON schema.table
67
- FOR SELECT
68
- TO authenticated
69
- USING (user_id = auth.uid());
70
-
71
- -- Policy: Users can update own data
72
- CREATE POLICY "Users can update own data"
73
- ON schema.table
74
- FOR UPDATE
75
- TO authenticated
76
- USING (user_id = auth.uid())
77
- WITH CHECK (user_id = auth.uid());
78
- ```
79
-
80
- #### Pattern B: Role-Based Access
81
-
82
- ```sql
83
- -- Policy: Fund Managers can view all
84
- CREATE POLICY "Fund Managers can view all"
85
- ON schema.table
86
- FOR SELECT
87
- TO authenticated
88
- USING (
89
- EXISTS (
90
- SELECT 1 FROM public.profiles
91
- WHERE profiles.id = auth.uid()
92
- AND profiles.role = 'fund_manager'
93
- )
94
- );
95
- ```
96
-
97
- #### Pattern C: Fund-Scoped Multi-Tenancy
98
-
99
- ```sql
100
- -- Policy: Users see data from their funds only
101
- CREATE POLICY "Users see own fund data"
102
- ON schema.table
103
- FOR SELECT
104
- TO authenticated
105
- USING (
106
- fund_id IN (
107
- SELECT fund_id FROM user_fund_access
108
- WHERE user_id = auth.uid()
109
- )
110
- );
111
- ```
112
-
113
- #### Pattern D: Insert with Service Role
114
-
115
- ```sql
116
- -- Policy: Service role can insert (for automated processes)
117
- CREATE POLICY "Service role can insert"
118
- ON schema.table
119
- FOR INSERT
120
- TO authenticated
121
- WITH CHECK (true);
122
- ```
123
-
124
- ---
125
-
126
- ### Step 4: Test Policies
127
-
128
- **Test matrix:**
129
-
130
- | User Type | Can Read? | Can Write? | Expected Result |
131
- |-----------|-----------|------------|-----------------|
132
- | Owner | ✓ | ✓ | See own data only |
133
- | Fund Manager | ✓ | ✓ | See all fund data |
134
- | Other User | ✗ | ✗ | No access |
135
- | Anonymous | ✗ | ✗ | No access |
136
-
137
- **Testing approach:**
138
-
139
- 1. Create test users with different roles
140
- 2. Attempt access with each role
141
- 3. Verify policies enforce expected behavior
142
-
143
- ```sql
144
- -- Test as specific user
145
- SET LOCAL role authenticated;
146
- SET LOCAL request.jwt.claims.sub = '{user_id}';
147
-
148
- -- Run query
149
- SELECT * FROM schema.table;
150
-
151
- -- Reset
152
- RESET role;
153
- ```
154
-
155
- ---
156
-
157
- ### Step 5: Document Policies
158
-
159
- **Add policy documentation:**
160
-
161
- ```sql
162
- COMMENT ON POLICY "Policy name" ON schema.table IS
163
- 'Description of who can access and why';
164
- ```
165
-
166
- ---
167
-
168
- ## Security Checklist
169
-
170
- Before deploying RLS policies:
171
-
172
- - [ ] RLS enabled on all sensitive tables?
173
- - [ ] Policies cover all operations (SELECT, INSERT, UPDATE, DELETE)?
174
- - [ ] Tested with different user roles?
175
- - [ ] No `WITH CHECK (true)` without justification?
176
- - [ ] Service roles explicitly documented?
177
- - [ ] Policies reference `auth.uid()` correctly?
178
- - [ ] Multi-tenancy enforced at data level?
179
-
180
- ---
181
-
182
- ## Common Pitfalls
183
-
184
- ### ❌ WRONG: Missing WITH CHECK
185
-
186
- ```sql
187
- -- Allows users to UPDATE to claim data they don't own
188
- CREATE POLICY "Users update own data"
189
- ON schema.table
190
- FOR UPDATE
191
- TO authenticated
192
- USING (user_id = auth.uid());
193
- -- Missing: WITH CHECK (user_id = auth.uid())
194
- ```
195
-
196
- ### ✅ CORRECT: Enforce ownership on write
197
-
198
- ```sql
199
- CREATE POLICY "Users update own data"
200
- ON schema.table
201
- FOR UPDATE
202
- TO authenticated
203
- USING (user_id = auth.uid())
204
- WITH CHECK (user_id = auth.uid());
205
- ```
206
-
207
- ### ❌ WRONG: Exposed service operations
208
-
209
- ```sql
210
- -- Too permissive - allows anyone to insert
211
- CREATE POLICY "Allow insert"
212
- ON schema.table
213
- FOR INSERT
214
- TO authenticated
215
- WITH CHECK (true);
216
- ```
217
-
218
- ### ✅ CORRECT: Document and limit
219
-
220
- ```sql
221
- -- Only specific operations should allow unrestricted insert
222
- CREATE POLICY "Service role can insert for registration"
223
- ON public.profiles
224
- FOR INSERT
225
- TO authenticated
226
- WITH CHECK (true);
227
- -- Document: Required for user registration flow
228
- ```
229
-
230
- ---
231
-
232
- ## Reference
233
-
234
- **Existing RLS examples:**
235
- - `backend/migrations/20251203_create_profiles_and_app_role.sql`
236
- - `backend/migrations/20251129_multi_fund_architecture.sql`
237
-
238
- **Supabase client:**
239
- - Client enforces RLS: `lib/supabaseClient.ts` (uses anon key)
240
- - Service role bypasses RLS: Only for admin operations
241
-
242
- **See also:**
243
- - `workflows/migration-workflow.md` for creating migrations with RLS
244
- - `references/best-practices.md` for security guidelines
1
+ # Row Level Security (RLS) Policy Design
2
+
3
+ Systematic approach to designing and implementing secure RLS policies in Supabase.
4
+
5
+ ## When To Use
6
+
7
+ - Creating new tables with sensitive data
8
+ - Implementing multi-tenancy
9
+ - Setting up role-based access control
10
+ - Reviewing security requirements
11
+
12
+ ---
13
+
14
+ ## Prerequisites
15
+
16
+ - [ ] Understand data access requirements
17
+ - [ ] Know user roles and permissions
18
+ - [ ] Have auth.uid() available (Supabase auth enabled)
19
+
20
+ ---
21
+
22
+ ## Workflow
23
+
24
+ ### Step 1: Define Access Requirements
25
+
26
+ **Questions to answer:**
27
+
28
+ 1. **Who can READ this data?**
29
+ - Own data only?
30
+ - All users in same fund?
31
+ - Fund managers only?
32
+ - Public data?
33
+
34
+ 2. **Who can WRITE (INSERT/UPDATE/DELETE)?**
35
+ - Owner only?
36
+ - Fund managers?
37
+ - System/service role only?
38
+
39
+ 3. **What's the ownership model?**
40
+ - User-owned (profiles, preferences)
41
+ - Fund-owned (investments, transactions)
42
+ - Shared (multi-tenancy)
43
+
44
+ ---
45
+
46
+ ### Step 2: Enable RLS on Table
47
+
48
+ ```sql
49
+ -- Always enable RLS first
50
+ ALTER TABLE schema.table ENABLE ROW LEVEL SECURITY;
51
+ ```
52
+
53
+ > **Critical:** Without RLS enabled, data is publicly accessible!
54
+
55
+ ---
56
+
57
+ ### Step 3: Implement Policies
58
+
59
+ **Choose the appropriate pattern:**
60
+
61
+ #### Pattern A: User Owns Data
62
+
63
+ ```sql
64
+ -- Policy: Users can view own data
65
+ CREATE POLICY "Users can view own data"
66
+ ON schema.table
67
+ FOR SELECT
68
+ TO authenticated
69
+ USING (user_id = auth.uid());
70
+
71
+ -- Policy: Users can update own data
72
+ CREATE POLICY "Users can update own data"
73
+ ON schema.table
74
+ FOR UPDATE
75
+ TO authenticated
76
+ USING (user_id = auth.uid())
77
+ WITH CHECK (user_id = auth.uid());
78
+ ```
79
+
80
+ #### Pattern B: Role-Based Access
81
+
82
+ ```sql
83
+ -- Policy: Fund Managers can view all
84
+ CREATE POLICY "Fund Managers can view all"
85
+ ON schema.table
86
+ FOR SELECT
87
+ TO authenticated
88
+ USING (
89
+ EXISTS (
90
+ SELECT 1 FROM public.profiles
91
+ WHERE profiles.id = auth.uid()
92
+ AND profiles.role = 'fund_manager'
93
+ )
94
+ );
95
+ ```
96
+
97
+ #### Pattern C: Fund-Scoped Multi-Tenancy
98
+
99
+ ```sql
100
+ -- Policy: Users see data from their funds only
101
+ CREATE POLICY "Users see own fund data"
102
+ ON schema.table
103
+ FOR SELECT
104
+ TO authenticated
105
+ USING (
106
+ fund_id IN (
107
+ SELECT fund_id FROM user_fund_access
108
+ WHERE user_id = auth.uid()
109
+ )
110
+ );
111
+ ```
112
+
113
+ #### Pattern D: Insert with Service Role
114
+
115
+ ```sql
116
+ -- Policy: Service role can insert (for automated processes)
117
+ CREATE POLICY "Service role can insert"
118
+ ON schema.table
119
+ FOR INSERT
120
+ TO authenticated
121
+ WITH CHECK (true);
122
+ ```
123
+
124
+ ---
125
+
126
+ ### Step 4: Test Policies
127
+
128
+ **Test matrix:**
129
+
130
+ | User Type | Can Read? | Can Write? | Expected Result |
131
+ |-----------|-----------|------------|-----------------|
132
+ | Owner | ✓ | ✓ | See own data only |
133
+ | Fund Manager | ✓ | ✓ | See all fund data |
134
+ | Other User | ✗ | ✗ | No access |
135
+ | Anonymous | ✗ | ✗ | No access |
136
+
137
+ **Testing approach:**
138
+
139
+ 1. Create test users with different roles
140
+ 2. Attempt access with each role
141
+ 3. Verify policies enforce expected behavior
142
+
143
+ ```sql
144
+ -- Test as specific user
145
+ SET LOCAL role authenticated;
146
+ SET LOCAL request.jwt.claims.sub = '{user_id}';
147
+
148
+ -- Run query
149
+ SELECT * FROM schema.table;
150
+
151
+ -- Reset
152
+ RESET role;
153
+ ```
154
+
155
+ ---
156
+
157
+ ### Step 5: Document Policies
158
+
159
+ **Add policy documentation:**
160
+
161
+ ```sql
162
+ COMMENT ON POLICY "Policy name" ON schema.table IS
163
+ 'Description of who can access and why';
164
+ ```
165
+
166
+ ---
167
+
168
+ ## Security Checklist
169
+
170
+ Before deploying RLS policies:
171
+
172
+ - [ ] RLS enabled on all sensitive tables?
173
+ - [ ] Policies cover all operations (SELECT, INSERT, UPDATE, DELETE)?
174
+ - [ ] Tested with different user roles?
175
+ - [ ] No `WITH CHECK (true)` without justification?
176
+ - [ ] Service roles explicitly documented?
177
+ - [ ] Policies reference `auth.uid()` correctly?
178
+ - [ ] Multi-tenancy enforced at data level?
179
+
180
+ ---
181
+
182
+ ## Common Pitfalls
183
+
184
+ ### ❌ WRONG: Missing WITH CHECK
185
+
186
+ ```sql
187
+ -- Allows users to UPDATE to claim data they don't own
188
+ CREATE POLICY "Users update own data"
189
+ ON schema.table
190
+ FOR UPDATE
191
+ TO authenticated
192
+ USING (user_id = auth.uid());
193
+ -- Missing: WITH CHECK (user_id = auth.uid())
194
+ ```
195
+
196
+ ### ✅ CORRECT: Enforce ownership on write
197
+
198
+ ```sql
199
+ CREATE POLICY "Users update own data"
200
+ ON schema.table
201
+ FOR UPDATE
202
+ TO authenticated
203
+ USING (user_id = auth.uid())
204
+ WITH CHECK (user_id = auth.uid());
205
+ ```
206
+
207
+ ### ❌ WRONG: Exposed service operations
208
+
209
+ ```sql
210
+ -- Too permissive - allows anyone to insert
211
+ CREATE POLICY "Allow insert"
212
+ ON schema.table
213
+ FOR INSERT
214
+ TO authenticated
215
+ WITH CHECK (true);
216
+ ```
217
+
218
+ ### ✅ CORRECT: Document and limit
219
+
220
+ ```sql
221
+ -- Only specific operations should allow unrestricted insert
222
+ CREATE POLICY "Service role can insert for registration"
223
+ ON public.profiles
224
+ FOR INSERT
225
+ TO authenticated
226
+ WITH CHECK (true);
227
+ -- Document: Required for user registration flow
228
+ ```
229
+
230
+ ---
231
+
232
+ ## Reference
233
+
234
+ **Existing RLS examples:**
235
+ - `backend/migrations/20251203_create_profiles_and_app_role.sql`
236
+ - `backend/migrations/20251129_multi_fund_architecture.sql`
237
+
238
+ **Supabase client:**
239
+ - Client enforces RLS: `lib/supabaseClient.ts` (uses anon key)
240
+ - Service role bypasses RLS: Only for admin operations
241
+
242
+ **See also:**
243
+ - `workflows/migration-workflow.md` for creating migrations with RLS
244
+ - `references/best-practices.md` for security guidelines