Skip to content

/Users/mpy/CascadeProjects/UmbraCore |-- Sources | |-- API | | -- UmbraAPI.swift | |-- Autocomplete | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | |-- AutocompleteProtocol.swift | | |-- Services | | -- README.md | |-- Config | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | |-- ConfigurationProtocol.swift | | |-- Services | | -- README.md | |-- Core | | |-- CryptoTypes | | |-- Protocols | | |-- SecurityTypes | | |-- Services | | |-- CoreService.swift | | |-- Types | | -- UmbraCore | | |-- Security | |-- UmbraCore.swift | |-- CryptoTypes | | |-- Models | | | -- SecureStorageData.swift | | |-- Protocols | | |-- CryptoServiceProtocol.swift | | |-- Services | | | |-- CredentialManager.swift | | | -- CryptoService.swift | |-- Types | | |-- CryptoConfiguration.swift | | -- CryptoError.swift | |-- ErrorHandling | | |-- Errors | | |-- Extensions | | |-- Error+Context.swift | | |-- Models | | | |-- CommonError.swift | | | |-- CoreError.swift | | | |-- ErrorContext.swift | | | -- ServiceErrorTypes.swift | | |-- Protocols | | | |-- ErrorHandlingProtocol.swift | | | |-- ErrorReporting.swift | | |-- ServiceErrorProtocol.swift | | |-- Services | | -- README.md | |-- Features | | |-- Crypto | | | |-- Errors | | | |-- Models | | | |-- SecureStorageData.swift | | | |-- Protocols | | | | -- SecureStorageProvider.swift | | |-- Services | | -- Logging | | |-- Errors | | |-- LoggingError.swift | | |-- Extensions | | |-- Models | | | -- LogEntry.swift | | |-- Protocols | | |-- LoggingProtocol.swift | | |-- Services | | | |-- LoggingService.swift | | | -- SwiftyBeaverLoggingService.swift | |-- README.md | |-- Mocks | | |-- MockKeychain.swift | | |-- MockSecurityProvider.swift | | -- MockURLProvider.swift | |-- Repositories | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | |-- RepositoryProtocol.swift | | |-- Services | | -- README.md | |-- ResticCLIHelper | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | |-- ResticCLIHelperProtocol.swift | | |-- Services | | -- README.md | |-- SecurityTypes | | |-- Models | | | |-- FilePermission.swift | | |-- SecurityError.swift | | |-- Protocols | | | |-- SecureStorageProvider.swift | | | -- SecurityProvider.swift | | |-- Testing | |-- Types | | -- SecurityErrorHandler.swift | |-- Services | |-- SecurityUtils | | |-- Extensions | | |-- Protocols | | | -- URLProvider.swift | | |-- Services | | | |-- EncryptedBookmarkService.swift | | |-- SecurityBookmarkService.swift | | |-- Testing | | -- Types | |-- Snapshots | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | |-- SnapshotProtocol.swift | | |-- Services | | -- README.md | |-- UmbraCore | |-- UmbraCore.swift | |-- UmbraMocks | | |-- MockCryptoService.swift | | |-- MockKeychain.swift | | -- MockSecurityProvider.swift | |-- UmbraSecurity | | |-- Extensions | | |-- URL+SecurityScoped.swift | | -- Services | |-- SecurityService.swift | -- XPC | |-- Core | | |-- XPCConnectionManager.swift | | |-- XPCError.swift | |-- XPCServiceProtocols.swift | |-- CryptoService | -- SecurityService |-- Tests | |-- AutocompleteTests | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | |-- Services | |-- ConfigTests | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | -- Services | |-- CoreTests | | |-- CoreServiceTests.swift | |-- URLSecurityTests.swift | |-- CryptoTests | | |-- Mocks | | |-- CredentialManagerTests.swift | | -- CryptoServiceTests.swift | |-- ErrorHandlingTests | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | |-- Services | | |-- CommonErrorTests.swift | |-- CoreErrorTests.swift | |-- LoggingTests | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | |-- Services | | -- LoggingServiceTests.swift | |-- RepositoriesTests | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | |-- Services | |-- ResticCLIHelperTests | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | | -- Services | |-- SecurityTypesTests | | |-- MockSecurityProviderTests.swift | |-- SecurityErrorTests.swift | |-- SecurityUtilsTests | | |-- EncryptedBookmarkServiceTests.swift | | -- SecurityBookmarkServiceTests.swift | |-- SnapshotsTests | | |-- Errors | | |-- Extensions | | |-- Models | | |-- Protocols | |-- Services | |-- UmbraCoreTests | | -- UmbraCoreTests.swift |-- UmbraSecurityTests | -- SecurityServiceTests.swift |-- .gitignore |-- LICENSE |-- Package.resolved |-- Package.swift |-- README.md |-- STRUCTURE.md |-- UmbraCore.md-- project_structure.md

136 directories, 77 files

UmbraCore Project Structure Documentation

Project Overview

  • Name: UmbraCore
  • Version: 1.0.0
  • Swift Version: 5.9.2/6.0.3
  • Platform: macOS 14+
  • Package Manager: Swift Package Manager (SPM)

Key Dependencies

  • SwiftyBeaver: v2.1.1 (logging)
  • CryptoSwift: v1.8.4 (crypto operations)

Core Components

Security Infrastructure

  • SecurityTypes Module: Core security types and protocols
  • CryptoTypes Module: Cryptographic operations and types
  • UmbraMocks Module: Mock implementations for testing

Implementation Details

  • Encryption: AES-256-GCM with combined auth mode
  • Key Derivation: PBKDF2 with SHA-256 (10,000 iterations)
  • IV Length: 12 bytes (GCM requirement)
  • Salt Length: 32 bytes
  • HMAC: SHA-256 based

XPC Integration (In Progress)

  • Core XPC infrastructure
  • CryptoService XPC implementation
  • SecurityService XPC implementation

Build Instructions

swift build
swift test

Note

This structure snapshot was created on 2025-02-17 before implementing XPC services. Keep this file for reference in case rollback is needed.