Cross-Project Learning

Opt-in sharing of anonymized patterns and insights across the Bootspring community

Cross-Project Learning enables sharing anonymized development patterns and insights across the Bootspring community, improving recommendations for everyone.

Overview#

When enabled, Bootspring:

  • Anonymizes your development patterns
  • Contributes insights to the community pool
  • Receives aggregated learnings from other projects
  • Enhances your recommendations with community data

Privacy First#

All data is:

  • Opt-in only - Nothing shared without explicit consent
  • Fully anonymized - No identifying information
  • Aggregated - Individual data never exposed
  • Deletable - Right to be forgotten supported

What Gets Shared#

Patterns (if enabled)#

  • Development workflow patterns
  • Successful code patterns
  • Error resolution patterns

Decisions (if enabled)#

  • Decision types (not content)
  • Outcome success rates
  • Impact scores

Workflows (if enabled)#

  • Workflow completion rates
  • Phase durations
  • Success metrics

What's Never Shared#

  • Project names or identifiers
  • File paths or code content
  • User information
  • API keys or secrets
  • Business logic
  • Any identifying information

Enabling Cross-Project Learning#

1# Enable all sharing 2bootspring cross-project enable 3 4# Enable specific sharing types 5bootspring cross-project enable --patterns --decisions 6 7# Check status 8bootspring cross-project status

Configuration#

1// Via API 2const crossProject = require('bootspring/intelligence/cross-project'); 3 4crossProject.grantConsent({ 5 sharePatterns: true, 6 shareDecisions: true, 7 shareWorkflows: true 8}); 9 10// Check consent status 11const status = crossProject.getConsentStatus(); 12// { 13// active: true, 14// projectId: 'proj_abc123def456', 15// sharing: { patterns: true, decisions: true, workflows: true } 16// }

Community Insights#

Viewing Insights#

Access aggregated community learnings:

1const insights = crossProject.fetchCommunityInsights(); 2// { 3// patterns: [ 4// { insight: 'Using database migrations reduces deployment failures by 85%', 5// confidence: 0.92, sampleSize: 1250 } 6// ], 7// decisions: [ 8// { insight: 'OAuth providers reduce auth support tickets by 70%', 9// confidence: 0.85, sampleSize: 720 } 10// ], 11// workflows: [ 12// { insight: 'Feature development workflow average completion: 4.2 days', 13// confidence: 0.90, sampleSize: 1800 } 14// ] 15// }

Using Insights#

Insights automatically enhance recommendations:

1const enhanced = crossProject.enhanceWithCommunityInsights(recommendation); 2// { 3// ...recommendation, 4// communityInsights: [...], 5// communityConfidence: 0.89 6// }

Filtering Insights#

// Get insights for a specific category const dbInsights = crossProject.getRelevantInsights('database'); const authInsights = crossProject.getRelevantInsights('auth');

Contributing Data#

Manual Contribution#

1// Contribute a pattern 2crossProject.contributePattern({ 3 type: 'development', 4 category: 'testing', 5 pattern: 'integration-first', 6 outcome: 'success' 7}); 8 9// Contribute a decision outcome 10crossProject.contributeDecision({ 11 type: 'architecture', 12 category: 'database', 13 outcome: 'success', 14 impactScore: 0.8 15}); 16 17// Contribute workflow completion 18crossProject.contributeWorkflow({ 19 name: 'feature-development', 20 phases: 4, 21 completedPhases: 4, 22 success: true 23});

Viewing Your Contributions#

1bootspring cross-project contributions 2 3# Output: 4# Your Contributions 5# ───────────────────────────────── 6# Total: 15 7# Patterns: 8 8# Decisions: 5 9# Workflows: 2 10# Last contribution: 2 hours ago

Data Transparency#

Export Your Data#

See exactly what has been shared:

1const myData = crossProject.exportMyData(); 2// { 3// consent: { projectId: '...', givenAt: '...', sharing: {...} }, 4// contributions: [ 5// { id: '...', type: 'pattern', data: {...}, contributedAt: '...' } 6// ], 7// totalContributions: 15 8// }
bootspring cross-project export > my-data.json

Delete Your Data#

Exercise your right to be forgotten:

crossProject.deleteMyData(); // Revokes consent, deletes local data, requests server deletion
bootspring cross-project delete-data
bootspring cross-project disable # Or via API crossProject.revokeConsent();

After revoking:

  • No new data will be shared
  • Previous contributions are deleted
  • You can still view public community insights

How Anonymization Works#

Path Anonymization#

// Original '/Users/john/projects/my-secret-app/src/auth/login.ts' // Anonymized '[PROJECT]/auth/anon_a7b3c9d2.ts'

Field Removal#

Sensitive fields are automatically removed:

  • email, password, secret, key, token
  • api_key, auth, credential, private
  • phone, address, name, username

Identifier Hashing#

Remaining identifiers are hashed:

// Original 'user_12345' // Anonymized 'anon_8f4d2e6a9b1c'

API Reference#

1const crossProject = require('bootspring/intelligence/cross-project'); 2 3// Consent management 4crossProject.grantConsent(options); 5crossProject.revokeConsent(); 6crossProject.hasConsent(); 7crossProject.getConsentStatus(); 8 9// Contributing 10crossProject.contributePattern(pattern); 11crossProject.contributeDecision(decision); 12crossProject.contributeWorkflow(workflow); 13crossProject.getContributionStats(); 14 15// Receiving insights 16crossProject.fetchCommunityInsights(); 17crossProject.getRelevantInsights(category); 18crossProject.enhanceWithCommunityInsights(recommendation); 19 20// Transparency 21crossProject.getStatus(); 22crossProject.exportMyData(); 23crossProject.deleteMyData();