Ethical Capital Labs
1 Overview
Ethical Capital Labs is an experimental platform for values-aligned finance education, deployed client-side on Cloudflare Pages. Each tool maintains transparency, educational classification, and clear regulatory compliance as an informational resource provided by a registered investment adviser.
⚖️ Regulatory Classification: Educational and informational tool (not direct advisory service) 🔍 Compliance Status: Pre-launch compliance verification completed September 2025
Platform URL: labs.ethicic.com Repository: ~/dev/labs Deployment: Cloudflare Pages with automated build pipeline
2 Active Experiments
2.1 Dryvestment (/divestment/)
Tagline: “Where values and valuations meet”
Purpose: Identity-first brief builder that translates activist conviction into institutional language, recasting moral imperatives as material risk considerations.
Functionality: - Builds printable, role-aware divestment briefs - Targets specific decision makers and investor identities - Provides evidence-backed talking points - Includes counterargument responses - Generates model resolutions and next steps
Technical Architecture: - Pure client-side implementation - Deterministic outputs (same inputs = same brief) - No data collection or personalization - Content loaded from content/bds_pack.json
2.2 Portfolio Time Travel (/simulator/)
Purpose: Monte Carlo withdrawal simulator with accumulation/decumulation phases, tax-aware toggles, and deterministic scenario presets.
Functionality: - Interactive portfolio strategy simulation - Withdrawal rate analysis and safe withdrawal calculations - Tax-aware modeling capabilities - Deterministic scenario presets for reproducible exploration - Monte Carlo analysis for retirement planning
Technical Architecture: - React-based interactive interface - Client-side Monte Carlo calculations - Chart.js for data visualization - No backend dependencies or data persistence
3 Technical Infrastructure
3.1 Architecture Overview
graph TB
A[Cloudflare Pages] --> B[Static Assets]
B --> C[Dryvestment Tool]
B --> D[Portfolio Simulator]
B --> E[Email Signup Widget]
E --> F[Buttondown API]
E --> G[LACRM Integration]
F --> H[KV Storage - Anonymized Metrics]
3.2 Development Stack
- Frontend: React, Tailwind CSS, DaisyUI theme system
- Build: Babel transpilation, ESLint/Prettier linting
- Deployment: Cloudflare Pages with
npm run build - APIs: Cloudflare Functions for signup processing
- Storage: KV namespace for anonymized telemetry
3.3 Design System
- Theme: Custom “labs” DaisyUI theme (
data-theme="labs") - CSS Framework: Tailwind with shared token system in
/assets/css/labs.css - Typography: Outfit + Raleway font pairing
- Components: Consistent DaisyUI primitives across experiments
4 Data Handling & Privacy
4.1 Educational Architecture & Compliance
- Client-Side Processing: All calculations happen in-browser for core functionality
- Educational Purpose: Hypothetical scenarios only, not personalized investment advice
- Transparent Data Practices: Email collection for educational newsletter (disclosed)
- Regulatory Compliance: Meets Utah RIA advertising and educational content requirements
4.2 Email Signup Integration
Endpoint: functions/api/signup.ts
Data Collection:
{
"email_hash": "SHA-256 hashed email (anonymized)",
"timestamp": "signup_timestamp",
"source": "tool_or_page_identifier",
"tags": "optional_campaign_tags",
"user_agent": "browser_info",
"referer": "source_page"
}Integration Flow: 1. Buttondown API: Subscribe to newsletter (if BUTTONDOWN_API_KEY present) 2. LACRM Integration: Create/update contact (if LACRM_API_TOKEN configured) 3. KV Storage: Store anonymized metrics regardless of upstream availability
Privacy Controls: - Emails hashed before storage (irreversible anonymization) - No personal data persisted in KV storage - Optional integration - tools work without signup
5 Content Architecture
5.1 Dryvestment Content Management
- Content Pack:
content/bds_pack.jsoncontains all narrative components - Structure: Openers, talking points, counterarguments, resolutions, sources
- Identity Model: CFA-style investor categories with thumbprint customization
- Citations: All claims backed by linked sources and evidence
5.2 Simulator Configuration
- Scenario Presets: Deterministic configurations for common use cases
- Parameter Ranges: Validated input boundaries for realistic modeling
- Calculation Engine: Monte Carlo methodology with configurable iterations
6 Security & Compliance
6.1 Educational Disclaimers & Regulatory Compliance
All tools prominently display required disclaimers: - “Educational Use Only” - Tool output is hypothetical and for educational purposes - “Not Investment Advice” - Does not constitute investment advice or recommendations - “No Security Recommendations” - Tool does not recommend buying or selling specific securities - “Consult Professionals” - Users advised to consult qualified professionals before acting - “RIA Disclosure” - Platform provided by Ethical Capital, a registered investment adviser
6.2 Conflict of Interest Disclosure
- Lead Generation Purpose: Email signups may result in solicitation for advisory services
- Educational vs. Advisory Separation: Free tool distinct from paid advisory services
- No Client Relationship: Tool usage does not create investment advisory relationship
6.3 Code Security
- Static Analysis: ESLint security rules active
- Dependency Management: Regular updates and vulnerability scanning
- Content Security: No dynamic code execution or unsafe operations
- API Security: Function-level authentication for external integrations
6.4 Compliance Framework
- Utah RIA Compliance: Meets educational content requirements under Utah Administrative Code R164
- Investment Advisor Act: Educational classification maintained through disclaimers and non-personalized content
- Advertising Rules: Content reviewed for compliance with anti-fraud provisions
- Data Protection: Privacy policy accurately discloses data collection and processing
- Record Keeping: All platform content archived per SEC Rule 204-2 requirements
7 Operational Procedures
7.1 Development Workflow
# Local development
npm install
npm run lint # ESLint + Prettier
npm run build # Transpile and build
npx serve public # Local preview
# Deployment
git push origin main # Triggers Cloudflare Pages build7.2 Content Updates
- Dryvestment: Update
content/bds_pack.jsonwith new talking points or sources - Simulator: Modify presets or calculation parameters in component
- Design System: Extend shared tokens in
public/assets/css/labs.css
7.3 Monitoring & Maintenance
- Usage Analytics: KV namespace provides signup metrics without personal data
- Error Monitoring: Cloudflare Pages provides build and runtime error reporting
- Performance: Client-side architecture eliminates server-side bottlenecks
- Updates: Regular dependency updates and security patches
8 Integration with Main Site
8.2 Lead Generation
- Email signups feed into main marketing automation
- LACRM integration provides sales pipeline visibility
- Optional campaign tagging for source attribution
9 Future Development
9.1 Planned Enhancements
- Additional educational tools for portfolio construction
- Enhanced mobile responsiveness and accessibility
- Integration with main site’s content management system
- Advanced analytics for content effectiveness
9.2 Experimental Pipeline
- Risk tolerance assessment tools
- Ethical screening simulators
- Investment committee decision frameworks
- Client education modules
This Labs platform serves as ECIC’s innovation sandbox while maintaining strict privacy standards and educational focus, supporting the firm’s thought leadership and client education objectives.