feat(welcome): SilverOS Welcome first-logon wizard (flavour engine + apply orchestrator + MAUI UI + image bake) #4
9
windows/flavours/daily-driver.json
Normal file
9
windows/flavours/daily-driver.json
Normal file
@@ -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 }
|
||||
}
|
||||
9
windows/flavours/developer.json
Normal file
9
windows/flavours/developer.json
Normal file
@@ -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 }
|
||||
}
|
||||
9
windows/flavours/journalist.json
Normal file
9
windows/flavours/journalist.json
Normal file
@@ -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 }
|
||||
}
|
||||
9
windows/flavours/privacy-max.json
Normal file
9
windows/flavours/privacy-max.json
Normal file
@@ -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 }
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user