A comprehensive, auditable Differential Privacy Budget Manager for MoonBit.
git clone https://github.com/ppyq882/moon-privacy-budget.git
cd moon-privacy-budget
moon update
moon check --target all --deny-warn
moon test --deny-warn
moon run main -- demolet budget = match @core.PrivacyBudget::make(1.0, 0.0001) {
Ok(value) => value
Err(error) => fail(error)
}
let account = @ledger.PrivacyAccount::new("analyst", "service", budget, 100)
let policy = match @core.BudgetPolicy::new(
budget,
@core.PrivacyBudget::zero(),
100,
100000,
) {
Ok(value) => value
Err(error) => fail(error)
}
let guard = @query.PrivacyGuard::with_policy(account, policy, 42UL)
let plan = @query.QueryPlan::new(
@query.QueryType::select_count(),
"events",
)
let result = guard.execute_plan("query-001", table, plan, budget)moon run main -- help
moon run main -- demo
moon run main -- benchmark
moon run main -- versionmain/ CLI、演示和基准入口
src/core/ ε/δ、预算、敏感度、策略
src/math/ PRNG、分布、矩阵与数值工具
src/mechanisms/ 基础差分隐私机制
src/aggregators/ COUNT、SUM、MEAN、VARIANCE、HISTOGRAM
src/ledger/ 账户、账本、预留、过滤器、里程表
src/query/ 表、SQL、计划、守卫、批执行
src/audit/ 日志、生命周期汇总、分组分析、JSON/Markdown 导出
src/composition/ Basic、Advanced、RDP、zCDP、Moments Accountant
src/federated/ 联邦节点与预算协调
src/ml/ DP-SGD 与隐私机器学习示例SQL / QueryPlan -> schema validation -> BudgetPolicy -> DP mechanism
-> account charge -> audit exportbenchmark=private_count
rows=10000
iterations=50
completed=50
elapsed_ticks=7
last_noisy_count=4990.782381400174moon run main -- benchmarkmoon fmt --check
moon info
moon check --target all --deny-warn
moon test --deny-warn
moon test --target wasm-gc --deny-warn
moon test --target js --deny-warnInstall
Download zipA comprehensive, auditable Differential Privacy Budget Manager for MoonBit.