NSSecureCoding (via subclasses)

E820438

NSSecureCoding (via subclasses) is a secure coding protocol in Apple’s Foundation framework that ensures objects are safely encoded and decoded, preventing the creation of unexpected or malicious object types during archiving and serialization.

All labels observed (1)

Label Occurrences
NSSecureCoding (via subclasses) canonical 1

How this entity was disambiguated

Statements (47)

Predicate Object
instanceOf Objective-C protocol
secure coding protocol
appliesTo Objective-C classes
Swift classes bridged to Objective-C
bestPractice use only with NSKeyedArchiver requiring secure coding
validate all decoded values
category application security
data serialization
conformsTo NSCoding
definedIn Foundation framework
documentationURL https://developer.apple.com/documentation/foundation/nssecurecoding
enforcedBy NSKeyedArchiver
NSKeyedUnarchiver
NSSecureUnarchiveFromDataTransformer
extends NSCoding
introducedBy Apple
linked to: Apple Inc.
keyRequirement supportsSecureCoding must return YES
language Objective-C
Swift (via Objective-C interoperability)
partOf Foundation framework
platform Apple platforms
primaryPurpose mitigate object substitution attacks
prevent deserialization of unexpected object types
secure object encoding and decoding
relatedTo NSCoding
NSKeyedArchiver
NSKeyedUnarchiver
requires NSKeyedUnarchiver to be configured with allowed classes
class to declare conformance in interface
implementation of secure decoding logic
requiresMethod +supportsSecureCoding
-encodeWithCoder:
-initWithCoder:
securityProperty helps prevent remote code execution via unarchiving
prevents decoding of arbitrary classes
requires explicit allowed classes during decoding
usedFor archiving
data persistence
interprocess communication
serialization
usedIn iOS
macOS
tvOS
watchOS
usedWith +[NSKeyedArchiver archivedDataWithRootObject:requiringSecureCoding:error:]
+[NSKeyedUnarchiver unarchivedObjectOfClass:fromData:error:]
+[NSKeyedUnarchiver unarchivedObjectOfClasses:fromData:error:]

How these facts were elicited

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

NSCoder conformsTo NSSecureCoding (via subclasses)