XMPP Chat Client

Swift is a modern web chat client, designed to be used anywhere, on any device. It enables you to deploy a high capacity, secure chat solution across your network with zero footprint deployment.

Swift Multi-User Chat

Swift is based on the XMPP (eXtensible Messaging and Presence Protocol) family of open standards, which is the leading open standard for chat.

Swift Multi-User Chat

1:1 Chat

1:1 Chat is the backbone of most chat clients. 1:1 chat through Swift provides a clear interface that, along with all the other standard features you’d expect from a chat application, provides:

  • Clear indication of users, with customisable images.
  • Time and date of each message sent.
  • Scrollable message history, clearly marking day changes.
  • Editing of the last message sent.
  • Direct message reply.
  • Pop-up alerts for new messages.
Swift 1-1 chat

Multi-User Chat (MUC)

Multi-User Chat or ‘MUC’ rooms are the perfect way to group communications by team or topic.

Swift MUC rooms are clearly labelled to facilitate user choice of room. With an optional side panel showing an occupant’s name; photo (if set), their availability and any further information such as their XMPP address or chat status, you can quickly find out exactly who is part of the conversation with you.

Presence & Roster

The roster shows which of your contacts are online and available to talk with user presence. An easily searchable list of users and MUC rooms you are an occupant of are highlighted along the left-hand side, with changeable indicators for whether users are ‘Online, Busy, Away or Offline’. Users can also set their own, customisable status to give more information on their location or availability.

Roster & Presence

Security Labelling

Security labelling is critical for military and government deployments.  Swift provides security label support based on XEP-0258 “Security Labels in XMPP”.  This can be used in conjunction with an XMPP server such as Isode M-Link to perform access control based on security clearance.

Swift allows setting of a security label on each message, with values selected from the list of security labels returned by the XMPP server. If used alongside the Isode M-Link, this will reflect the list of labels allowed for the message being sent (1:1 or MUC).

When used with MUC rooms, Swift will clearly display the Security Label associated with the room. Setting the default security level for the room guides MUC room members on how they should act. When a label has been specified for a room, all communication will typically happen at this level, so to avoid UI clutter any subsequent messages will not display their security label, unless they differ from the default already set.

For 1:1 chat, Swift will clearly display the security label of each message.

Security Labels

Hardware Flexibility

Swift is designed to be fully responsive to both screen and device size. No matter what device you are using you can use the full functionality of Swift. This includes standard desktop, tablet and phone (illustrated below).

Swift Mobile View

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) to secure all Swift data connections.

  • HTTPS is used to secure connections with the browser.
  • TLS is used to secure XMPP connections to the XMPP Server

Admin Controls

Administrator Portal 2

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 & 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.

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

While we highly recommend taking advantage of the latest version of Swift, we know that some people still want an open source option.

Swift 4.0 is an open source, desktop only version of our Swift XMPP Chat client. Whilst it is not likely to receive any further updates, there are support packages available for purchase should you require custom support and bug fixes for your deployment.


Key Features

  • Security Labels: Swift supports the security labelling of messages, ensuring that in both MUC rooms and 1:1 chats, messages can only be delivered to those with the security clearance required to view them (requires supports from an appropriate server).
  • Trellis Mode: Enables the user to view several MUC rooms and 1:1 chats at the same time, instead of on a tabbed interface.
  • Keyword/Phrase Highlighting: Easily create highlight rules for key words or phrases across multiple conversations, include the ability to highlight words or phrases only when used by specific individuals.
  • Message Delivery Receipts: Swift can request and display an acknowledgement from the target user’s client (1:1 chat).

Swift supports Strong Authentication using certificates and smart-cards as well as password-based SASL authentication mechanisms.

Commercial Support Packages

The open source version of Swift is written with Swiften and licensed under the GNU General Public License. Swiften is offered under both commercial licensing, from Isode, and under the GNU General Public License.

Development has been supported by Isode with the contribution of considerable engineering effort. The open-source version of Swift will always be a free client, however Isode does offer commercial support for large installations and mission-critical environments as well as commercial licenses and commercial support contracts for Swiften. Please fill in our contact form for more information.

Supported Platforms

Swift 4.0 is available for Windows, Mac OS X (10.9+) as well as an AppImage for 64-bit Linux systems. Swift 4.0 can be download from the Open source Swift website, along with the source code of Swift and Swiften.

Ready to request an Evaluation?

Thankyou for considering Isode’s software products. To request an evaluation, please select the product(s) you are interested in, then fill out the enquiry form.

Select your Evaluation products: