NSSecureCoding
E820428
NSSecureCoding is an Apple protocol that extends NSCoding to require secure, type-checked archiving and unarchiving of objects to prevent object substitution attacks.
All labels observed (1)
| Label | Occurrences |
|---|---|
| NSSecureCoding canonical | 5 |
How this entity was disambiguated
This entity first appeared as the object of triple T9761668 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: NSSecureCoding Context triple: [NSData, conformsTo, NSSecureCoding]
-
A.
NSCoder
NSCoder is an abstract class in Apple’s Foundation framework that provides an interface for encoding and decoding objects and values for archiving and serialization.
-
B.
NSData
NSData is a fundamental Objective-C class in Apple’s Foundation framework that represents immutable raw binary data.
-
C.
NSObject
NSObject is the root base class in Objective-C from which most classes in Cocoa and Cocoa Touch inherit, providing fundamental object behavior such as memory management and message sending.
-
D.
Key-Value Observing
Key-Value Observing is an Objective-C and Swift mechanism that lets objects be notified and react when specific properties of other objects change.
-
E.
ASN.1
ASN.1 (Abstract Syntax Notation One) is a standardized, platform-independent notation used to define and encode complex data structures in telecommunications and cryptographic protocols, including X.509 certificates.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: NSSecureCoding Target entity description: NSSecureCoding is an Apple protocol that extends NSCoding to require secure, type-checked archiving and unarchiving of objects to prevent object substitution attacks.
-
A.
NSCoder
NSCoder is an abstract class in Apple’s Foundation framework that provides an interface for encoding and decoding objects and values for archiving and serialization.
-
B.
NSData
NSData is a fundamental Objective-C class in Apple’s Foundation framework that represents immutable raw binary data.
-
C.
NSObject
NSObject is the root base class in Objective-C from which most classes in Cocoa and Cocoa Touch inherit, providing fundamental object behavior such as memory management and message sending.
-
D.
Key-Value Observing
Key-Value Observing is an Objective-C and Swift mechanism that lets objects be notified and react when specific properties of other objects change.
-
E.
ASN.1
ASN.1 (Abstract Syntax Notation One) is a standardized, platform-independent notation used to define and encode complex data structures in telecommunications and cryptographic protocols, including X.509 certificates.
- F. None of above. chosen
Statements (45)
| Predicate | Object |
|---|---|
| instanceOf |
Apple protocol
ⓘ
Objective-C protocol ⓘ Swift protocol ⓘ |
| category |
security-related API
ⓘ
serialization protocol ⓘ |
| conformancePattern | classes adopt protocol to be securely archived ⓘ |
| definedIn | Foundation framework NERFINISHED ⓘ |
| designGoal |
backward compatibility with NSCoding
ⓘ
opt-in secure coding behavior ⓘ |
| documentationURL | https://developer.apple.com/documentation/foundation/nssecurecoding ⓘ |
| extends | NSCoding ⓘ |
| feature |
class whitelist during unarchiving
ⓘ
prevents decoding of unexpected classes ⓘ type-checked decoding ⓘ |
| introducedTo | improve NSCoding security model ⓘ |
| language |
Objective-C
NERFINISHED
ⓘ
Swift NERFINISHED ⓘ |
| platform |
Apple platforms
NERFINISHED
ⓘ
iOS ⓘ macOS ⓘ tvOS NERFINISHED ⓘ watchOS NERFINISHED ⓘ |
| purpose |
prevention of object substitution attacks
ⓘ
secure archiving of objects ⓘ secure unarchiving of objects ⓘ |
| relatedTo |
NSCoder
NERFINISHED
ⓘ
NSKeyedArchiver NERFINISHED ⓘ NSKeyedUnarchiver NERFINISHED ⓘ |
| requires |
encodeWithCoder:
ⓘ
implementation of NSCoding methods ⓘ initWithCoder: ⓘ |
| requiresForFullSecurity | requiresSecureCoding set to YES on coder ⓘ |
| requiresMethod | supportsSecureCoding ⓘ |
| requiresProperty | +supportsSecureCoding ⓘ |
| requiresPropertySemantics | class property ⓘ |
| requiresPropertyType | BOOL ⓘ |
| securityProperty |
mitigates object substitution vulnerabilities
ⓘ
reduces risk of deserialization attacks ⓘ |
| usedFor |
persisting objects to disk securely
ⓘ
secure XPC communication payloads ⓘ sending objects over IPC securely ⓘ |
| usedWith |
NSKeyedArchiver requiresSecureCoding
ⓘ
NSKeyedUnarchiver requiresSecureCoding ⓘ |
| validationMechanism |
NSCoder decodeObjectOfClass:forKey:
ⓘ
NSCoder decodeObjectOfClasses:forKey: ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: NSSecureCoding Description of subject: NSSecureCoding is an Apple protocol that extends NSCoding to require secure, type-checked archiving and unarchiving of objects to prevent object substitution attacks.
Referenced by (5)
Full triples — surface form annotated when it differs from this entity's canonical label.