Classes

The following classes are available globally.

  • Superclass to all SDK classes. The data of the class is stored in inner, and there is an internal init for setting the data.

    Requires subclass inits to be convenience init which call self.init to set inner

    Declaration

    Swift

    public class SdkObject
  • ID of a document.

    Must be unique within the document’s segment and match the regex ^[a-zA-Z0-9_.$#|@/:;=+'-]+$.

    See more

    Declaration

    Swift

    public class DocumentId : SdkObject
    extension DocumentId: CustomStringConvertible
    extension DocumentId: Equatable
  • Asymmetric private encryption key.

    See more

    Declaration

    Swift

    public class PrivateKey : SdkObject
  • User’s encrypted private key.

    See more

    Declaration

    Swift

    public class EncryptedPrivateKey : SdkObject
  • Asymmetric public encryption key.

    See more

    Declaration

    Swift

    public class PublicKey : SdkObject
  • Key pair used to sign all requests to the IronCore API endpoints.

    See more

    Declaration

    Swift

    public class DeviceSigningKeyPair : SdkObject
  • ID of a user.

    Must be unique within the user’s segment and match the regex ^[a-zA-Z0-9_.$#|@/:;=+'-]+$.

    See more

    Declaration

    Swift

    public class UserId : SdkObject
    extension UserId: CustomStringConvertible
    extension UserId: Equatable
  • ID of a group.

    Must be unique within the group’s segment and match the regex ^[a-zA-Z0-9_.$#|@/:;=+'-]+$.

    See more

    Declaration

    Swift

    public class GroupId : SdkObject
    extension GroupId: CustomStringConvertible
    extension GroupId: Equatable
  • ID of a user or a group

    See more

    Declaration

    Swift

    public class UserOrGroupId : SdkObject
  • ID of a device.

    Must be greater than 0.

    See more

    Declaration

    Swift

    public class DeviceId : SdkObject
    extension DeviceId: CustomStringConvertible
    extension DeviceId: Equatable
  • Name of a device.

    Must be between 1 and 100 characters long.

    See more

    Declaration

    Swift

    public class DeviceName : SdkObject
  • Signing and encryption key pairs and metadata for a device.

    Required to initialize the SDK with a set of device keys (see IronOxide.initialize).

    Can be generated by calling SDK.generateNewDevice and passing the result to DeviceContext.init.

    See more

    Declaration

    Swift

    public class DeviceContext : SdkObject
  • Representation of an amount of time.

    Used to provide timeout durations for SDK API requests.

    See more

    Declaration

    Swift

    public class Duration : SdkObject
  • Claims required to form a valid Jwt.

    See more

    Declaration

    Swift

    public class JwtClaims : SdkObject
  • Jwt

    IronCore JWT.

    Must be either ES256 or RS256 and have a payload similar to JwtClaims, but could be generated from an external source.

    See more

    Declaration

    Swift

    public class Jwt : SdkObject
  • Name of a document.

    The name should be human-readable and does not have to be unique.

    Must be between 1 and 100 characters long.

    See more

    Declaration

    Swift

    public class DocumentName : SdkObject
    extension DocumentName: Equatable
  • Abbreviated document metadata.

    See more

    Declaration

    Swift

    public class DocumentListMeta : SdkObject
  • Metadata for each document the current user has access to.

    See more

    Declaration

    Swift

    public class DocumentListResult : SdkObject
  • Full metadata for a document.

    See more

    Declaration

    Swift

    public class DocumentMetadataResult : SdkObject
  • Successful document grants or revocations.

    See more

    Declaration

    Swift

    public class SucceededResult : SdkObject
  • Failed document grants or revocations.

    See more

    Declaration

    Swift

    public class FailedResult : SdkObject
  • Encrypted document bytes and metadata.

    See more

    Declaration

    Swift

    public class DocumentEncryptResult : SdkObject
  • One dimension of a policy rule

    See more

    Declaration

    Swift

    public class Category : SdkObject
  • One dimension of a policy rule

    See more

    Declaration

    Swift

    public class Sensitivity : SdkObject
  • One dimension of a policy rule

    See more

    Declaration

    Swift

    public class DataSubject : SdkObject
  • Document access granted by a policy.

    For use with SDK.document.encrypt.

    The triple (category, sensitivity, dataSubject) maps to a single policy rule. Each policy rule may generate any number of users/groups.

    See more

    Declaration

    Swift

    public class PolicyGrant : SdkObject
  • Parameters that can be provided when encrypting a new document.

    Document IDs must be unique to the segment. If no ID is provided, one will be generated for it. If no name is provided, the document’s name will be left empty. Neither the document’s ID nor name will be encrypted.

    See more

    Declaration

    Swift

    public class DocumentEncryptOpts : SdkObject
  • Decrypted document bytes and metadata.

    See more

    Declaration

    Swift

    public class DocumentDecryptResult : SdkObject
  • Encrypted document bytes and metadata.

    Unmanaged encryption does not store document access information with the webservice, but rather returns the access information as encryptedDeks. Both the encryptedData and encryptedDeks must be used to decrypt the document.

    See more

    Declaration

    Swift

    public class DocumentEncryptUnmanagedResult : SdkObject
  • Decrypted document bytes and metadata.

    See more

    Declaration

    Swift

    public class DocumentDecryptUnmanagedResult : SdkObject
  • Successful and failed changes to a document’s access list.

    Both grant and revoke support partial success.

    See more

    Declaration

    Swift

    public class DocumentAccessResult : SdkObject
  • Name of a group.

    Must be between 1 and 100 characters long.

    See more

    Declaration

    Swift

    public class GroupName : SdkObject
    extension GroupName: Equatable
  • Options for group creation.

    See more

    Declaration

    Swift

    public class GroupCreateOpts : SdkObject
  • A list of group users.

    See more

    Declaration

    Swift

    public class GroupUserList : SdkObject
  • Full metadata for a newly created group.

    See more

    Declaration

    Swift

    public class GroupCreateResult : SdkObject
  • Full metadata for a group.

    See more

    Declaration

    Swift

    public class GroupGetResult : SdkObject
  • Abbreviated group metadata.

    See more

    Declaration

    Swift

    public class GroupMetaResult : SdkObject
  • Metadata for each group the user is an admin or a member of.

    See more

    Declaration

    Swift

    public class GroupListResult : SdkObject
  • Successful and failed changes to a group’s member or admin lists.

    Partial success is supported.

    See more

    Declaration

    Swift

    public class GroupAccessEditResult : SdkObject
  • A failure when attempting to change a group’s member or admin lists.

    See more

    Declaration

    Swift

    public class GroupAccessEditErr : SdkObject
  • Metadata returned after rotating a group’s private key.

    See more

    Declaration

    Swift

    public class GroupUpdatePrivateKeyResult : SdkObject
  • Top-level configuration object for IronOxide

    See more

    Declaration

    Swift

    public class IronOxideConfig : SdkObject
  • Policy evaluation caching config

    Since policies are evaluated by the webservice, caching the result can greatly speed up encrypting a document with a PolicyGrant.

    See more

    Declaration

    Swift

    public class PolicyCachingConfig : SdkObject
  • SDK

    Struct that represents an initialized IronOxide SDK.

    Contains properties and methods for all SDK functionality

    See more

    Declaration

    Swift

    public class SDK
  • Encrypted Blind Index Salt

    See more

    Declaration

    Swift

    public class EncryptedBlindIndexSalt : SdkObject
  • Blind Index Search

    See more

    Declaration

    Swift

    public class BlindIndexSearch : SdkObject
  • Options for user creation.

    See more

    Declaration

    Swift

    public class UserCreateOpts : SdkObject
  • Metadata for a newly created user.

    Includes the user’s public key and whether the user’s private key needs rotation.

    See more

    Declaration

    Swift

    public class UserCreateResult : SdkObject
  • Options for device creation.

    See more

    Declaration

    Swift

    public class DeviceCreateOpts : SdkObject
  • Metadata for a user.

    See more

    Declaration

    Swift

    public class UserResult : SdkObject
  • Metadata for a newly created device.

    Can be converted into a DeviceContext with DeviceContext.init.

    See more

    Declaration

    Swift

    public class DeviceAddResult : SdkObject
  • Metadata for a device.

    See more

    Declaration

    Swift

    public class UserDevice : SdkObject
  • Metadata for each device the user has authorized.

    The results are sorted based on the device’s ID.

    See more

    Declaration

    Swift

    public class UserDeviceListResult : SdkObject
  • User and their public encryption key

    See more

    Declaration

    Swift

    public class UserWithKey : SdkObject
  • Metadata from user private key rotation.

    See more

    Declaration

    Swift

    public class UserUpdatePrivateKeyResult : SdkObject