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
  • Ubuntu 22.04 LTS.
  • Windows Server 2019 & Windows Server 2022.
  • 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