Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions src/policy/builtin.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
use super::Policy;

const SIGSUM_TEST1_2025: &str = include_str!("sigsum-test1-2025.builtin-policy");
const SIGSUM_TEST2_2025: &str = include_str!("sigsum-test2-2025.builtin-policy");
const SIGSUM_TEST_2025_3: &str = include_str!("sigsum-test-2025-3.builtin-policy");
const SIGSUM_GENERIC_2025_1: &str = include_str!("sigsum-generic-2025-1.builtin-policy");

impl Policy {
pub fn builtin(name: &str) -> Option<Self> {
match name {
"sigsum-test1-2025" => Some(Policy::parse(SIGSUM_TEST1_2025).unwrap()),
"sigsum-test2-2025" => Some(Policy::parse(SIGSUM_TEST2_2025).unwrap()),
"sigsum-test-2025-3" => Some(Policy::parse(SIGSUM_TEST_2025_3).unwrap()),
"sigsum-generic-2025-1" => Some(Policy::parse(SIGSUM_GENERIC_2025_1).unwrap()),
_ => None,
}
}
}

#[cfg(test)]
mod tests {
use super::*;

#[test]
fn parse_builtin_policies() {
assert!(Policy::builtin("sigsum-test1-2025").is_some());
assert!(Policy::builtin("sigsum-test2-2025").is_some());
assert!(Policy::builtin("sigsum-test-2025-3").is_some());
assert!(Policy::builtin("sigsum-generic-2025-1").is_some());
}
}
1 change: 1 addition & 0 deletions src/policy/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ use std::collections::HashMap;

use crate::crypto::{Hash, PublicKey};

mod builtin;
mod parsing;

pub use parsing::ParsePolicyError;
Expand Down
22 changes: 22 additions & 0 deletions src/policy/sigsum-generic-2025-1.builtin-policy
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# This is a Sigsum trust policy that has been vetted by the Sigsum project
# See https://git.glasklar.is/sigsum/project/documentation/-/blob/main/policy-maintenance.md

# https://git.glasklar.is/glasklar/services/sigsum-logs/-/blob/main/instances/seasalp.md (accessed 2025-12-04)
log 0ec7e16843119b120377a73913ac6acbc2d03d82432e2c36b841b09a95841f25 https://seasalp.glasklar.is

# https://ginkgo.tlog.mullvad.net/about (accessed 2025-12-04)
log f00c159663d09bbda6131ee1816863b6adcacfe80b0b288000b11aba8fe38314 https://ginkgo.tlog.mullvad.net

# https://git.glasklar.is/glasklar/services/witnessing/-/blob/main/witness.glasklar.is/about.md (accessed 2025-12-04)
witness witness.glasklar.is b2106db9065ec97f25e09c18839216751a6e26d8ed8b41e485a563d3d1498536

# https://witness.mullvad.net/about (accessed 2025-12-04)
witness witness.mullvad.net 15d6d0141543247b74bab3c1076372d9c894f619c376d64b29aa312cc00f61ad

# https://github.com/tillitis/tillitis.se-tillitis-witness-1/blob/main/about.md (accessed 2025-12-04)
witness tillitis.se/tillitis-witness-1 076be8c9ee7ea60916f0df3608c945d7730082ecb37749dad2c9ed339fea770c

# Requiring 2 of 3 is intended to give reasonable balance between security and availability.
group quorum-rule 2 witness.glasklar.is witness.mullvad.net tillitis.se/tillitis-witness-1

quorum quorum-rule
36 changes: 36 additions & 0 deletions src/policy/sigsum-test-2025-3.builtin-policy
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Policy using two sigsum test logs at test.sigsum.org/barreleye and serviceberry.tlog.stagemole.eu

log 4644af2abd40f4895a003bca350f9d5912ab301a49c77f13e5b6d905c20a5fe6 https://test.sigsum.org/barreleye
log 47e481606d8acba747a6b053d6c2d191605fb122175d410a1202a91430abce39 https://serviceberry.tlog.stagemole.eu

# Test witness operated by Niels Möller running on a Glasklar Teknik server
witness poc.sigsum.org/nisse 1c25f8a44c635457e2e391d1efbca7d4c2951a0aef06225a881e46b98962ac6c

# Test witness operated by Rasmus Dahlberg - https://www.rgdd.se/poc-witness/about
witness rgdd.se/poc-witness 28c92a5a3a054d317c86fc2eeb6a7ab2054d6217100d0be67ded5b74323c5806

# Test witness operated by Elias Rudberg - https://witness1.smartit.nu/witness1/about.txt
witness witness1.smartit.nu/witness1 f4855a0f46e8a3e23bb40faf260ee57ab8a18249fa402f2ca2d28a60e1a3130e

# Staging witness operated by Filippo Valsorda - https://navigli.sunlight.geomys.org/
witness witness.navigli.sunlight.geomys.org dcbf728e02d479f5a7e20dc09adf525833ed6e797526517aeb07fc6854849fc6

# Test witness operated by Florian Larysch - https://remora.n621.de/
witness remora.n621.de ebcdeb78e7fdb2ef9227b2c1ef11e94600b55b4d6d9a57877e31ee89e59adc36

# Test witness operated by Mullvad VPN AB - https://witness.stagemole.eu/about
witness witness.stagemole.eu 4a921b7caef58ae670cdc11ef4184f1c058f7b9259a9107a969f69fa54aa496f

# Test witness operated by Tillitis AB - new key since October 2025
witness tillitis.se/test-witness-1 636582aec12f32c18a21733db9e3f718058ee7aaec6dbe4eb81781e0f4300c6e

# Test witness operated by Google TrustFabric team - https://transparency.dev/witnesses/
witness transparency.dev/DEV:witness-little-garden 2b6eb0ec483503544cde4e8fc1ce6d1921db21dffccc186865f808f7625443cc

# Group of 3 witnesses that are all run by Glasklar employees
group glasklar-test-witnesses 2 poc.sigsum.org/nisse rgdd.se/poc-witness witness1.smartit.nu/witness1

# Requiring 4 of 6 is intended to give reasonable reliability.
group quorum-rule 4 glasklar-test-witnesses witness.navigli.sunlight.geomys.org remora.n621.de witness.stagemole.eu tillitis.se/test-witness-1 transparency.dev/DEV:witness-little-garden

quorum quorum-rule
12 changes: 12 additions & 0 deletions src/policy/sigsum-test1-2025.builtin-policy
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Policy using the sigsum test log at test.sigsum.org/barreleye

log 4644af2abd40f4895a003bca350f9d5912ab301a49c77f13e5b6d905c20a5fe6 https://test.sigsum.org/barreleye

witness poc.sigsum.org/nisse 1c25f8a44c635457e2e391d1efbca7d4c2951a0aef06225a881e46b98962ac6c
witness rgdd.se/poc-witness 28c92a5a3a054d317c86fc2eeb6a7ab2054d6217100d0be67ded5b74323c5806
witness witness1.smartit.nu/witness1 f4855a0f46e8a3e23bb40faf260ee57ab8a18249fa402f2ca2d28a60e1a3130e

# Requiring 2 of 3 is intended to give reasonable reliability.
group quorum-rule 2 poc.sigsum.org/nisse rgdd.se/poc-witness witness1.smartit.nu/witness1

quorum quorum-rule
32 changes: 32 additions & 0 deletions src/policy/sigsum-test2-2025.builtin-policy
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Policy using the sigsum test log at test.sigsum.org/barreleye

log 4644af2abd40f4895a003bca350f9d5912ab301a49c77f13e5b6d905c20a5fe6 https://test.sigsum.org/barreleye

# Test witness operated by Niels Möller running on a Glasklar Teknik server
witness poc.sigsum.org/nisse 1c25f8a44c635457e2e391d1efbca7d4c2951a0aef06225a881e46b98962ac6c

# Test witness operated by Rasmus Dahlberg
witness rgdd.se/poc-witness 28c92a5a3a054d317c86fc2eeb6a7ab2054d6217100d0be67ded5b74323c5806

# Test witness operated by Elias Rudberg
witness witness1.smartit.nu/witness1 f4855a0f46e8a3e23bb40faf260ee57ab8a18249fa402f2ca2d28a60e1a3130e

# Test witness operated by Filippo Valsorda
witness navigli.sunlight.geomys.org/dev b20196b937a30d19f0cb7dfa2d5388bc8ddde9cc3df4c24fcf63db27a573d3f2

# See about page: https://remora.n621.de/
witness remora.n621.de ebcdeb78e7fdb2ef9227b2c1ef11e94600b55b4d6d9a57877e31ee89e59adc36

# Test witness operated by Grégoire Détrez
witness witness.stagemole.eu 4a921b7caef58ae670cdc11ef4184f1c058f7b9259a9107a969f69fa54aa496f

# Test witness operated by Tillitis AB
witness tillitis.se/test-witness-1 5c35281928e9da396beede5f22a2251a589e6ac6de52a4de85de8634ffccaf6d

# Group of 3 witnesses that are all run by Glasklar employees
group glasklar-test-witnesses 2 poc.sigsum.org/nisse rgdd.se/poc-witness witness1.smartit.nu/witness1

# Requiring 4 of 5 is intended to give reasonable reliability.
group quorum-rule 4 glasklar-test-witnesses navigli.sunlight.geomys.org/dev remora.n621.de witness.stagemole.eu tillitis.se/test-witness-1

quorum quorum-rule