No description
Find a file
Jennie Robinson Faber 26c300c357 Implement OWASP ASVS L1 security remediation (Phases 0-2)
Auth: Add requireAuth/requireAdmin guards with JWT cookie verification,
member status checks (suspended/cancelled = 403), and admin role
enforcement. Apply to all admin, upload, and payment endpoints. Add
role field to Member model.

CSRF: Double-submit cookie middleware with client plugin. Exempt
webhook and magic-link verify routes.

Headers: X-Content-Type-Options, X-Frame-Options, X-XSS-Protection,
Referrer-Policy, Permissions-Policy on all responses. HSTS and CSP
(Helcim/Cloudinary/Plausible sources) in production only.

Rate limiting: Auth 5/5min, payment 10/min, upload 10/min, general
100/min via rate-limiter-flexible, keyed by client IP.

XSS: DOMPurify sanitization on marked() output with tag/attr
allowlists. escapeHtml() utility for email template interpolation.

Anti-enumeration: Login returns identical response for existing and
non-existing emails. Remove 404 handling from login UI components.

Mass assignment: Remove helcimCustomerId from profile allowedFields.

Session: 7-day token expiry, refresh endpoint, httpOnly+secure cookies.

Environment: Validate required secrets on startup via server plugin.
Remove JWT_SECRET hardcoded fallback.
2026-03-01 12:53:18 +00:00
app Implement OWASP ASVS L1 security remediation (Phases 0-2) 2026-03-01 12:53:18 +00:00
assets/css Redesign interface across member dashboard and events pages 2025-10-09 16:25:57 +01:00
docs Add Vitest security test suite and update security evaluation doc 2026-03-01 12:30:06 +00:00
plugins Enhance application structure: Add runtime configuration for environment variables, integrate new dependencies for Cloudinary and UI components, and refactor member management features including improved forms and member dashboard. Update styles and layout for better user experience. 2025-08-27 16:49:51 +01:00
public Migrate design system from ethereal/cool to warm/craft/guild theme 2026-02-24 20:01:11 +00:00
scripts Many an update! 2025-12-01 15:26:42 +00:00
server Implement OWASP ASVS L1 security remediation (Phases 0-2) 2026-03-01 12:53:18 +00:00
tests Add Vitest security test suite and update security evaluation doc 2026-03-01 12:30:06 +00:00
.env.example Enhance application structure: Add runtime configuration for environment variables, integrate new dependencies for Cloudinary and UI components, and refactor member management features including improved forms and member dashboard. Update styles and layout for better user experience. 2025-08-27 16:49:51 +01:00
.gitignore Migrate design system from ethereal/cool to warm/craft/guild theme 2026-02-24 20:01:11 +00:00
CLAUDE.md Migrate design system from ethereal/cool to warm/craft/guild theme 2026-02-24 20:01:11 +00:00
debug-token.js Implement multi-step registration process: Add step indicators, error handling, and payment processing for membership registration. Enhance form validation and user feedback with success and error messages. Refactor state management for improved clarity and maintainability. 2025-09-03 14:47:13 +01:00
Dockerfile Fix production flag 2025-10-09 17:05:16 +01:00
eslint.config.mjs Initial commit 2025-08-26 14:17:16 +01:00
nuxt.config.ts Implement OWASP ASVS L1 security remediation (Phases 0-2) 2026-03-01 12:53:18 +00:00
package-lock.json Add Vitest security test suite and update security evaluation doc 2026-03-01 12:30:06 +00:00
package.json Add Vitest security test suite and update security evaluation doc 2026-03-01 12:30:06 +00:00
slack-app-manifest.yaml Adding features 2025-10-05 16:15:09 +01:00
test-helcim-direct.js Implement multi-step registration process: Add step indicators, error handling, and payment processing for membership registration. Enhance form validation and user feedback with success and error messages. Refactor state management for improved clarity and maintainability. 2025-09-03 14:47:13 +01:00
tsconfig.json Initial commit 2025-08-26 14:17:16 +01:00
vitest.config.js Add Vitest security test suite and update security evaluation doc 2026-03-01 12:30:06 +00:00