diff --git a/windows/flavours/daily-driver.json b/windows/flavours/daily-driver.json new file mode 100644 index 0000000..976ab5f --- /dev/null +++ b/windows/flavours/daily-driver.json @@ -0,0 +1,9 @@ +{ + "id": "daily-driver", + "label": "Daily-Driver", + "description": "Balanced privacy and usability. Full hardened baseline; app control in audit.", + "isDefault": true, + "hardening": { "modules": ["00","01","02","03","04","05","06","07"], "params": { "wdac": "audit" } }, + "appSet": ["SilverBrowser","SilverVPN","SilverKeys"], + "settings": { "autoLock": 120 } +} diff --git a/windows/flavours/developer.json b/windows/flavours/developer.json new file mode 100644 index 0000000..75e5f1b --- /dev/null +++ b/windows/flavours/developer.json @@ -0,0 +1,9 @@ +{ + "id": "developer", + "label": "Developer", + "description": "Hardened baseline with developer tooling allowances.", + "isDefault": false, + "hardening": { "modules": ["00","01","02","03","04","05","06","07"], "params": { "wdac": "audit" } }, + "appSet": ["SilverBrowser","SilverVPN","SilverKeys"], + "settings": { "autoLock": 300 } +} diff --git a/windows/flavours/journalist.json b/windows/flavours/journalist.json new file mode 100644 index 0000000..8cf0141 --- /dev/null +++ b/windows/flavours/journalist.json @@ -0,0 +1,9 @@ +{ + "id": "journalist", + "label": "Journalist", + "description": "Privacy-first with duress + secure comms emphasis.", + "isDefault": false, + "hardening": { "modules": ["00","01","02","03","04","05","06","07"], "params": { "wdac": "enforce" } }, + "appSet": ["SilverBrowser","SilverVPN","SilverChat","SilverDuress","SilverKeys","SilverSync"], + "settings": { "autoLock": 60 } +} diff --git a/windows/flavours/privacy-max.json b/windows/flavours/privacy-max.json new file mode 100644 index 0000000..8995e19 --- /dev/null +++ b/windows/flavours/privacy-max.json @@ -0,0 +1,9 @@ +{ + "id": "privacy-max", + "label": "Privacy-Max", + "description": "Maximum lockdown. App control enforced, tightest toggles.", + "isDefault": false, + "hardening": { "modules": ["00","01","02","03","04","05","06","07"], "params": { "wdac": "enforce" } }, + "appSet": ["SilverBrowser","SilverVPN","SilverKeys","SilverDuress","SilverChat"], + "settings": { "autoLock": 60 } +} diff --git a/windows/welcome/tests/SilverOS.Welcome.Tests/ShippedFlavoursTests.cs b/windows/welcome/tests/SilverOS.Welcome.Tests/ShippedFlavoursTests.cs new file mode 100644 index 0000000..c67d196 --- /dev/null +++ b/windows/welcome/tests/SilverOS.Welcome.Tests/ShippedFlavoursTests.cs @@ -0,0 +1,21 @@ +using SilverOS.Welcome.Core.Flavours; +using Xunit; + +public class ShippedFlavoursTests +{ + private static string FlavoursDir() + { + var d = AppContext.BaseDirectory; + while (d is not null && !Directory.Exists(Path.Combine(d, "windows", "flavours"))) + d = Directory.GetParent(d)?.FullName; + return Path.Combine(d!, "windows", "flavours"); + } + + [Fact] + public void All_shipped_flavours_are_valid_and_one_is_default() + { + var loaded = new FlavourLoader().Load(FlavoursDir()); + Assert.Equal(4, loaded.Count); + Assert.Equal("daily-driver", loaded[0].Id); + } +}