[package] name = "nigig-site" version = "0.1.0" edition = "2021" description = "Nigig Site — fail-closed encrypted local construction records under SITE-01 containment." [dependencies] makepad-widgets = { workspace = true } robius-directories = { git = "https://github.com/project-robius/robius", rev = "b766e62b0600f5d2ee21cc6995648346fc277bd8" } serde = { version = "1", features = ["derive"] } serde_json = "1" chrono = { version = "0.4", features = ["serde"] } ulid = { version = "1", features = ["serde"] } uuid = { version = "1", features = ["v4", "serde"] } # Fail-closed authenticated storage (see src/crypto.rs and src/store.rs). # `aes-gcm` 0.10 does not propagate its optional zeroization into the AES and # GHASH backends, so the feature-only direct pins below deliberately unify those # already-transitive crates with their drop-time zeroization support enabled. aes-gcm = { version = "0.10", default-features = false, features = ["aes", "alloc", "zeroize"] } aes = { version = "0.8.4", features = ["zeroize"] } ghash = { version = "0.5.1", features = ["zeroize"] } polyval = { version = "0.6.2", features = ["zeroize"] } aead = "0.5" getrandom = "0.2" zeroize = "1" keyring-core = "1" # Use one explicit native credential-store provider per desktop platform. The # all-in-one `keyring` facade is intentionally not linked by production code. [target.'cfg(target_os = "linux")'.dependencies] zbus-secret-service-keyring-store = { version = "1", features = ["crypto-rust"] } [target.'cfg(target_os = "macos")'.dependencies] apple-native-keyring-store = { version = "1", features = ["keychain"] } [target.'cfg(target_os = "windows")'.dependencies] windows-native-keyring-store = { version = "1", default-features = false } windows-sys = { version = "0.61.2", features = ["Win32_Foundation", "Win32_Storage_FileSystem"] } [target.'cfg(unix)'.dependencies] libc = "0.2" # Contained media/export and live-network fixtures execute only in the owned # Linux CI jobs. Keeping their broad dependency graph out of macOS/Windows test # builds lets the target-native repository contracts compile independently. [target.'cfg(target_os = "linux")'.dev-dependencies] makepad-test = { workspace = true } nigig-core = { path = "../../nigig-core" } # Legacy media/export implementations are test-only containment fixtures. nigig-pdf-cos = { path = "../pdf/pdf-cos" } nigig-pdf-document = { path = "../pdf/pdf-document" } nigig-pdf-graphics = { path = "../pdf/pdf-graphics" } nigig_doc_scanner = { path = "../nigig_doc_scanner" } image = { version = "0.25", default-features = false, features = ["png", "jpeg"] } weezl = "0.1" zip = "8" # Explicit test-only live-server contract; production has no HTTP dispatcher. reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "blocking"] }