<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -",
    "macCatalyst: 17.4.0 -",
    "macOS: 14.4.0 -",
    "tvOS: 17.4.0 -",
    "visionOS: 1.1.0 -",
    "watchOS: 10.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "LightweightCodeRequirements",
  "identifier" : "/documentation/LightweightCodeRequirements/SigningIdentifier",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "LightweightCodeRequirements"
    ],
    "preciseIdentifier" : "s:27LightweightCodeRequirements17SigningIdentifierV"
  },
  "title" : "SigningIdentifier"
}
-->

# SigningIdentifier

A constraint that tests whether the provided signing identifier matches the signature attached to the code.

```
struct SigningIdentifier
```

## Overview

The signing identifier is referred to as simply the “Identifier” in codesign –dump output.
The signing identifier is matched byte for byte (i.e. no unicode normalization occurs).
Signing identifiers can be claimed by multiple signers. To check a signing identifier securely you should also require a [`ValidationCategory`](/documentation/LightweightCodeRequirements/ValidationCategory) constraint and for non-Apple code a [`TeamIdentifier`](/documentation/LightweightCodeRequirements/TeamIdentifier) constraint.

## Topics

### Initializers

[`init(String)`](/documentation/LightweightCodeRequirements/SigningIdentifier/init(_:))

Matches if the provided string matches the signing identifier of the code.

[`init(from: any Decoder) throws`](/documentation/LightweightCodeRequirements/SigningIdentifier/init(from:))

Create a new instance by decoding from the given decoder

### Instance Methods

[`func encode(to: any Encoder) throws`](/documentation/LightweightCodeRequirements/SigningIdentifier/encode(to:))

Encodes this value into the given encoder

### Type Aliases

[`typealias DataType`](/documentation/LightweightCodeRequirements/SigningIdentifier/DataType)

The basic input data type for this constraint: String.

[`typealias OutType`](/documentation/LightweightCodeRequirements/SigningIdentifier/OutType)

The type of this constraint: [`SigningIdentifier`](/documentation/LightweightCodeRequirements/SigningIdentifier).

### Type Methods

[`static func `in`(SigningIdentifier.DataType...) -> SigningIdentifier.OutType`](/documentation/LightweightCodeRequirements/SigningIdentifier/in(_:)-57h8m)

Matches if the signing identifier of the code matches any of the provided signing identifiers.

[`static func `in`([SigningIdentifier.DataType]) -> SigningIdentifier.OutType`](/documentation/LightweightCodeRequirements/SigningIdentifier/in(_:)-57qq8)

Matches if the signing identifier of the code matches any of the provided signing identifiers.

## Relationships

### Conforms To

[`Encodable`](/documentation/Swift/Encodable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`ProcessConstraint`](/documentation/LightweightCodeRequirements/ProcessConstraint)

[`LaunchConstraint`](/documentation/LightweightCodeRequirements/LaunchConstraint)

[`Decodable`](/documentation/Swift/Decodable)

[`Sendable`](/documentation/Swift/Sendable)

[`OnDiskConstraint`](/documentation/LightweightCodeRequirements/OnDiskConstraint)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)