Write the Computation You Want

Describe analytics, ML steps, matching, or key ops. Mark what can be revealed—we handle the hard parts.

# Secret Value Example - Stoffel MPC Program
  # Takes user age and salary as private inputs

  # Calculate eligibility score based on age and salary
  proc calculate_eligibility(age: secret int64, salary: secret int64): secret int64 =
    # Age factor: people between 25-65 get higher scores
    let age_score = age * 2
    
    # Salary factor: higher salary increases eligibility
    let salary_score = salary / 1000
    
    # Combined eligibility score
    let total_score = age_score + salary_score
    return total_score

  # Determine risk category based on inputs
  proc assess_risk_category(age: secret int64, salary: secret int64): secret int64 =
    let base_risk = 100
    let age_adjustment = age / 2
    let salary_adjustment = salary / 10000
    
    let final_risk = base_risk - age_adjustment + salary_adjustment
    return final_risk

  # Main computation function
  proc main() =
    # These would be secret inputs from different parties in real MPC
    let user_age: secret int64 = 35      # Age input
    let salary: secret int64 = 75000     # Salary input
    
    # Perform secure computations
    let eligibility_score = calculate_eligibility(user_age, salary)
    let risk_score = assess_risk_category(user_age, salary)
    
    # Results computed without revealing individual age or salary
    discard eligibility_score
    discard risk_score

Write the Computation You Want

Describe analytics, ML steps, matching, or key ops. Mark what can be revealed—we handle the hard parts.

# Secret Value Example - Stoffel MPC Program
  # Takes user age and salary as private inputs

  # Calculate eligibility score based on age and salary
  proc calculate_eligibility(age: secret int64, salary: secret int64): secret int64 =
    # Age factor: people between 25-65 get higher scores
    let age_score = age * 2
    
    # Salary factor: higher salary increases eligibility
    let salary_score = salary / 1000
    
    # Combined eligibility score
    let total_score = age_score + salary_score
    return total_score

  # Determine risk category based on inputs
  proc assess_risk_category(age: secret int64, salary: secret int64): secret int64 =
    let base_risk = 100
    let age_adjustment = age / 2
    let salary_adjustment = salary / 10000
    
    let final_risk = base_risk - age_adjustment + salary_adjustment
    return final_risk

  # Main computation function
  proc main() =
    # These would be secret inputs from different parties in real MPC
    let user_age: secret int64 = 35      # Age input
    let salary: secret int64 = 75000     # Salary input
    
    # Perform secure computations
    let eligibility_score = calculate_eligibility(user_age, salary)
    let risk_score = assess_risk_category(user_age, salary)
    
    # Results computed without revealing individual age or salary
    discard eligibility_score
    discard risk_score

Write the Computation You Want

Describe analytics, ML steps, matching, or key ops. Mark what can be revealed—we handle the hard parts.

# Secret Value Example - Stoffel MPC Program
  # Takes user age and salary as private inputs

  # Calculate eligibility score based on age and salary
  proc calculate_eligibility(age: secret int64, salary: secret int64): secret int64 =
    # Age factor: people between 25-65 get higher scores
    let age_score = age * 2
    
    # Salary factor: higher salary increases eligibility
    let salary_score = salary / 1000
    
    # Combined eligibility score
    let total_score = age_score + salary_score
    return total_score

  # Determine risk category based on inputs
  proc assess_risk_category(age: secret int64, salary: secret int64): secret int64 =
    let base_risk = 100
    let age_adjustment = age / 2
    let salary_adjustment = salary / 10000
    
    let final_risk = base_risk - age_adjustment + salary_adjustment
    return final_risk

  # Main computation function
  proc main() =
    # These would be secret inputs from different parties in real MPC
    let user_age: secret int64 = 35      # Age input
    let salary: secret int64 = 75000     # Salary input
    
    # Perform secure computations
    let eligibility_score = calculate_eligibility(user_age, salary)
    let risk_score = assess_risk_category(user_age, salary)
    
    # Results computed without revealing individual age or salary
    discard eligibility_score
    discard risk_score

Stoffel Lang?

A developer-friendly language for defining what to compute and what (if anything) to reveal—so teams can collaborate on sensitive data without handing it around.

Stoffel Lang?

A developer-friendly language for defining what to compute and what (if anything) to reveal—so teams can collaborate on sensitive data without handing it around.

Stoffel Lang?

A developer-friendly language for defining what to compute and what (if anything) to reveal—so teams can collaborate on sensitive data without handing it around.

Why Developers Use It

Clear boundaries

Secret/public types and explicit [reveal] points.

Fast iteration

Local simulation, unit tests, deterministic builds.

Copy-ready patterns

Examples for rollups, overlaps, scoring, and key ops.

Why Developers Use It

Clear boundaries

Secret/public types and explicit [reveal] points.

Fast iteration

Local simulation, unit tests, deterministic builds.

Copy-ready patterns

Examples for rollups, overlaps, scoring, and key ops.

Why Developers Use It

Clear boundaries

Secret/public types and explicit [reveal] points.

Fast iteration

Local simulation, unit tests, deterministic builds.

Copy-ready patterns

Examples for rollups, overlaps, scoring, and key ops.

Key Capabilities

Key Capabilities

Policy-gated outputs

Define exactly what leaves (counts, scores, matches).

Composable primitives

Aggregates, comparisons, threshold ops.

Static checks

Blocks accidental leaks before they ship.

How it Works

  1. Mark inputs as secret or public.
  1. Write your function (analytics/ML/matching/key ops).
  1. Declare what can be revealed; compile and run.

Mark data as secret or public

Write your logic

+

Declare what can be revealed

Compile & run

Privacy automatically handled

How it Works

  1. Mark inputs as secret or public.
  1. Write your function (analytics/ML/matching/key ops).
  1. Declare what can be revealed; compile and run.

Mark data as secret or public

Write your logic

+

Declare what can be revealed

Compile & run

Privacy automatically handled

How it Works

  1. Mark inputs as secret or public.
  1. Write your function (analytics/ML/matching/key ops).
  1. Declare what can be revealed; compile and run.

Mark data as secret or public

Write your logic

+

Declare what can be revealed

Compile & run

Privacy automatically handled

Start Building Today

Start Building Today

Start Building Today