SwiftTechnical Specification
Web Architecture
Swift follows a modern web architecture. A key operational benefit is "zero footprint" as this approach avoids the need to install desktop products on many machines, which is needed with many older XMPP clients. Key points to note on the architecture:
- Browser connects to Swift Server.
- Swift Server connects to XMPP server using standard XMPP Client to Server protocol.
- Long term message storage is provided by the Message Archive and Management (MAM) XMPP service on the server.
- This enables horizontal scaling of the Swift service, by allowing multiple Swift Servers to connect to a single XMPP Server.

Data Confidentiality
Swift uses the standard TLS (Transport Layer Security)
- HTTPS is used to secure connections with the browser
- TLS is used to secure XMPP connections to the XMPP Server

Admin Controls

With a built-in admin interface, Swift administrators will use a separate account to manage their Swift implementation. This allows the administrator to configure server options such as TLS and to set default application settings.
Browser and OS Support
Swift Server supports the following platforms:
- Red Hat Enterprise Linux 8 & 9
Swift is supported on the latest versions of Edge, Chrome and Firefox. However, it can be deployed on any modern browser
For more information on the platforms and browsers supported for Swift and all other Isode products, you can click here.
Open Standards Conformance
Swift Open Standards conformance is listed below.
RFC 6120 | Extensible Messaging and Presence Protocol (XMPP): Core. P. Saint-Andre, March 2011 |
---|---|
RFC 6121 | Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence. P. Saint-Andre, March 2011 |
XEP 0030 | Service Discovery. J. Hildebrand, P. Millard, R. Eatmon, P. Saint-Andre, February 2007 |
XEP 0045 | Multi-User Chat. P. Saint-Andre, July 2008 |
XEP 0048 | Bookmarks. Rachel Blackman, Peter Millard, Peter Saint-Andre, November 2007 |
XEP 0049 | Private XML Storage. P. Saint-Andre, R. Davies March 2004 |
XEP 0085 | Chat State Notifications. Peter Saint-Andre, Dave Smith, September 2009 |
XEP 0092 | Software Version. P. Saint-Andre, February 2007 |
XEP 0115 | Entity Capabilites. Joe Hildebrand, Peter Saint-Andre, Remko Tronçon, Jacek Konieczny, October 2006 |
XEP 0138 | Stream Compression. J. Hildebrand, P. Saint-Andre, September 2007 |
XEP 0153 | vCard-Based Avatars. P. Saint-Andre, February 2018 |
XEP 0198 | Stream Management. J. Karneges, June 2011 |
XEP 0237 | Roster Versioning. P. Saint-Andre, Dave Cridland, March 2010 |
XEP 0258 | Security Labels in XMPP. K. Zeilenga, March 2009 |
XEP 0363 | HTTP File Upload.Daniel Glutsch, January 2022 |
XEP 0385 | Stateless Inline Media Sharing (SIMS). Tobias Markmann, January 2018 |
XEP 0308 | Last Message Correction. Kevin Smith, May 2017 |
XEP 0313 | Message Archive Management. Matthew Wild, Kevin Smith, March 2023 |