For the complete documentation index, see llms.txt. You can also append .md to any page URL to get its markdown version.
Skip to main content
For the complete documentation index, see llms.txt.

Released iOS SDK 3.22

· 2 min read

We have released version 3.22 of our SDK for iOS.

Added​

Device groups​

Added support for the device groups feature.

For configuration details, see the Device groups documentation.

Missing authentication method error code​

Added error code serverErrorMissingAuthMethod, which indicates that the authentication method required for the operation is missing.

Changed​

Secure credential handling​

Changed the activation and authentication APIs to support secure credential handling for Payment Services Directive 2 (PSD2) compliance.

PIN, activation code and recovery code parameters now require NSMutableString instead of String or NSString. This enforces credential handling that allows for secure memory overwriting immediately after use.

The following parameters now accept NSMutableString:

  • AuthMethod.pin(value:)
  • startActivationWithCode(_:)
  • RecoveryMethod.backupRecoveryCode(_:)
Breaking change

Passing a Swift String or NSString literal to these parameters results in a compiler error after upgrading.

For migration guidance, data classification and memory management, see the Security best practices documentation.

Encryption algorithms and keys​

Improved security for compliance with NSM/NIST:

  • End-to-end encryption algorithms changed to X25519 and AES-GCM.
  • Increased salt encryption key length to 32 and changed algorithm to AES-CTR.
Replace the encryption key

Old elliptic curve keys do not work with the 3.22 API. Set the publicKey property of EncapConfig to the X25519 public key.

Removed​

Offline authentication​

Removed the offline authentication feature.

Offline authentication error codes​

Removed error codes:

  • clientErrorOfflineVersionNotSupported
  • clientErrorOfflineParsingFailed
  • serverErrorClientOnlyDisallowed