<!--
{
  "availability" : [
    "macCatalyst: 13.0.0 -",
    "macOS: 10.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Security",
  "identifier" : "/documentation/Security/AuthorizationCallbacks/SetHintValue",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Security"
    ],
    "preciseIdentifier" : "c:@S@AuthorizationCallbacks@FI@SetHintValue"
  },
  "title" : "SetHintValue"
}
-->

# SetHintValue

Stores data needed during authorization as a key-value pair.

```
int (*)(struct __OpaqueAuthorizationEngine *, const char *, const struct AuthorizationValue *) SetHintValue;
```

## Parameters

`inEngine`

An opaque handle that is passed to your plug-in when the authorization engine calls your [`MechanismCreate`](/documentation/Security/AuthorizationPluginInterface/MechanismCreate) function.

`inKey`

A key identifying the value you are storing. For standard values such as a time stamp, use the keys listed in `DirectoryService/DirServicesConst.h`. If you need to define a new key, make sure the key is unique. For example, you can use your company name as a prefix for the key name.

`inValue`

A pointer to an [`AuthorizationValue`](/documentation/Security/AuthorizationValue) structure that contains the size of the data and a pointer to the data. Both the structure and the data are copied to storage maintained by the authorization engine.

## Return Value

A result code. Possible results are [`errAuthorizationSuccess`](/documentation/Security/errAuthorizationSuccess) (no error) and [`errAuthorizationInternal`](/documentation/Security/errAuthorizationInternal) (Security Server internal error).

## Discussion

Your plug-in authorization mechanism can save and retrieve auxiliary information—called hints—for use by subsequent mechanisms that are part of the same authorization. You use the `SetHintValue` function to have the Security Server store this data and the [`GetHintValue`](/documentation/Security/AuthorizationCallbacks/GetHintValue) function to retrieve it. Hints are not preserved as part of the authorization result; once all mechanisms have approved the authorization or any mechanism has denied it, the security engine disposes of the hints.

The authorization engine sends you the entry point to the `SetHintValue` function in an [`AuthorizationCallbacks`](/documentation/Security/AuthorizationCallbacks) structure when you call the [`AuthorizationPluginCreate`](/documentation/Security/AuthorizationPluginCreate) function.

> Important:
> Do not call this function after you have called the ``doc://com.apple.security/documentation/Security/AuthorizationCallbacks/SetResult`` function. If you do so, the function does not set the hint data, even though the function returns the ``doc://com.apple.security/documentation/Security/errAuthorizationSuccess`` result code.

---

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)