This repository contains the Streams Module for PrivMX Endpoint Swift, leveraging WebRTC library to provide End-to-End Encrypted Audio and Video communication. PrivMX is a privacy-focused platform designed to offer secure collaboration solutions by integrating robust encryption across various data types and communication methods. This project enables seamless integration of PrivMX’s encryption functionalities in Swift applications, preserving the security and performance of the original C++ library while making its capabilities accessible in the Swift ecosystem.
PrivMX allows developers to build end-to-end encrypted apps used for communication. The Platform works according to privacy-by-design mindset, so all of our solutions are based on Zero-Knowledge architecture. This project extends PrivMX’s commitment to security by making its encryption features accessible to developers using Swift.
- End-to-End Encryption: Ensures that data is encrypted at the source and can only be decrypted by the intended recipient.
- Native C++ Library Integration: Leverages the performance and security of C++ while making it accessible in Swift applications.
- Cross-Platform Compatibility: Designed to support PrivMX on multiple operating systems and environments.
- Simple API: Easy-to-use interface for Swift developers without compromising security.
- Audio and Video: Send and receive E2E Encrypted audio and video via WebRTC.
PrivMX Endpoint Streams Swift is an extension of Privmx Endpoint Swift. It additionally depends on WebRTC library and manages WebRTC connection and media server sessions.
This package implements:
- RTC session handling, managing connections with the media server.
- Stream and Track management for video conferences.
PMXDesktopCapturerimplementation utilising ScreenCaptureKit.PrivmxEndpointContainerfor managing global sessions.- Classes to simplify reading/writing to files using byte arrays and Swift
FileHandle.
To use this package, add it as a dependency in your Xcode project or in your Package.swift file.
In Xcode, navigate to your Project Navigator, right-click, and select Add Package Dependencies.... Then, paste the following URL into the Search or Enter Package URL field:
https://github.com/simplito/privmx-endpoint-streams-swift
To add it directly to a Swift package, include this line in the dependencies array in your Package.swift file:
.package(
url: "https://github.com/simplito/privmx-endpoint-streams-swift",
.upToNextMinor(from: .init(2, 7, 0))
),For more details on PrivMX Platform, including setup guides and API reference, visit PrivMX documentation.
PrivMX Endpoint Streams Swift Copyright © 2026 Simplito sp. z o.o.
This project is part of the PrivMX Platform (https://privmx.dev). This software is Licensed under the MIT License.
PrivMX Endpoint and PrivMX Bridge are licensed under the PrivMX Free License. See the License for the specific language governing permissions and limitations.