spb/prisme Public MIT
Navigateur iOS intelligent — chaque page comprise localement avant d'être affichée. SwiftUI · WebKit · Foundation Models, 100% on-device.
Swift 96.7%
JavaScript 3.3%
1//2// IdentityContainer.swift3// Prisme4//5// Author: Simon-Pierre Boucher <contact@spboucher.ai>6//78import Foundation910/// An isolated browsing identity. Cookies, sessions and local storage are11/// fully partitioned per container via `WKWebsiteDataStore(forIdentifier:)`.12/// A site opened in "Travail" can never link you to "Perso".13struct IdentityContainer: Identifiable, Codable, Hashable, Sendable {14 let id: UUID15 /// User-facing name (French, per product conventions).16 var name: String17 /// SF Symbol name shown in the chrome and tab switcher.18 var symbol: String19 var color: ContainerColor20 /// Sensitive containers are hard-excluded from any cloud escalation21 /// once the intelligence layer lands (CLAUDE.md §3).22 var isSensitive: Bool23}2425extension IdentityContainer {26 /// Default set created on first launch. IDs are generated once and then27 /// persisted — they must stay stable because they key the data stores.28 static func makeDefaults() -> [IdentityContainer] {29 [30 IdentityContainer(id: UUID(), name: "Perso", symbol: "person.fill", color: .vert, isSensitive: false),31 IdentityContainer(id: UUID(), name: "Travail", symbol: "briefcase.fill", color: .bleu, isSensitive: false),32 IdentityContainer(id: UUID(), name: "Magasinage", symbol: "cart.fill", color: .orange, isSensitive: false),33 IdentityContainer(id: UUID(), name: "Recherche sensible", symbol: "lock.shield.fill", color: .violet, isSensitive: true),34 ]35 }36}37