---
title: "Store electronic signatures with Instant JSON"
canonical_url: "https://www.nutrient.io/guides/ios/knowledge-base/store-electronic-signatures-from-instant-json-annotations/"
md_url: "https://www.nutrient.io/guides/ios/knowledge-base/store-electronic-signatures-from-instant-json-annotations.md"
last_updated: "2026-05-26T01:23:09.661Z"
description: "Learn to create and store electronic signatures with Instant JSON annotations and KeychainSignatureStore."
---

# How to store electronic signatures using Instant JSON

To store electronic signatures in the signature store using annotations provided via Instant JSON, you can use a custom [`SignatureStore`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/signaturestore) implementation. This populates the signature store with annotations from Instant JSON. In turn, this means that those annotations can then be used to create a new signature.

By leveraging the existing [`KeychainSignatureStore`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/keychainsignaturestore), you don’t even have to add the serialization yourself, and therefore, all annotations that were added either via Instant JSON or via the UI will be saved to disk.

This is the logic to implement a signature store that accepts Instant JSON to populate it:

```swift

class InstantJSONSignatureStore: KeychainSignatureStore {
    func addAnnotationUsingJSON(_ json: String, documentProvider: PDFDocumentProvider) throws {
        guard let jsonData = json.data(using:.utf8) else { return }
        let annotation = try Annotation(fromInstantJSON: jsonData, documentProvider: documentProvider)
        let container = SignatureContainer(signatureAnnotation: annotation, signer: nil, biometricProperties: nil)
        addSignature(container)
    }
}

```

And to use it, here’s example code:

```swift

let json = "..." // Instant JSON Annotation

let jsonSignatureStore = InstantJSONSignatureStore()

document.didCreateDocumentProviderBlock = { documentProvider in
    try? jsonSignatureStore.addAnnotationUsingJSON(json, documentProvider: documentProvider)
}

let controller = PDFViewController(document: document) {
    $0.signatureStore = jsonSignatureStore
}

```
---

## Related pages

- [Adding Swipe Gesture Recognizer](/guides/ios/knowledge-base/adding-swipe-gesture-recognizer.md)
- [Fix app store connect operation errors in Xcode](/guides/ios/knowledge-base/app-store-connect-operation-errors.md)
- [Adding Vector Image Annotation From Instant Json](/guides/ios/knowledge-base/adding-vector-image-annotation-from-instant-json.md)
- [Adjusting Size Of Popovers](/guides/ios/knowledge-base/adjusting-size-of-popovers.md)
- [Archive Errors Cocoapods](/guides/ios/knowledge-base/archive-errors-cocoapods.md)
- [Configuring Scroll Views](/guides/ios/knowledge-base/configuring-scroll-views.md)
- [Customize your iOS navigation bar above crop UI](/guides/ios/knowledge-base/customize-the-navigation-bar-in-crop.md)
- [Customize PDF rendering on iOS](/guides/ios/knowledge-base/customize-document-rendering.md)
- [Customize Share Sheet Apps](/guides/ios/knowledge-base/customize-share-sheet-apps.md)
- [Customizing Annotation Toolbar Frame](/guides/ios/knowledge-base/customizing-annotation-toolbar-frame.md)
- [Debugging Issues](/guides/ios/knowledge-base/debugging-issues.md)
- [Disabling Adding Pages With Images](/guides/ios/knowledge-base/disabling-adding-pages-with-images.md)
- [Disabling Auto Opening Comments](/guides/ios/knowledge-base/disabling-auto-opening-comments.md)
- [Disabling Directional Lock](/guides/ios/knowledge-base/disabling-directional-lock.md)
- [Adding a custom view controller in iOS](/guides/ios/knowledge-base/how-do-i-add-custom-controller-to-containerviewcontroller.md)
- [Disabling Text Selection](/guides/ios/knowledge-base/disabling-text-selection.md)
- [Drawing An Upright Stamp Annotation On A Rotated Page](/guides/ios/knowledge-base/drawing-an-upright-stamp-annotation-on-a-rotated-page.md)
- [Generate PDFs from complex HTML](/guides/ios/knowledge-base/generating-pdf-from-complex-html.md)
- [Gatekeeper Alerts Mac Catalyst](/guides/ios/knowledge-base/gatekeeper-alerts-mac-catalyst.md)
- [Customize action sheet appearance on iOS links](/guides/ios/knowledge-base/hide-or-customize-the-action-sheet-link-long-press.md)
- [How Do I Change How To Open Links](/guides/ios/knowledge-base/how-do-i-change-how-to-open-links.md)
- [How Do I Customize Search Results](/guides/ios/knowledge-base/how-do-i-customize-search-results.md)
- [Capture ink signatures using SignatureViewController](/guides/ios/knowledge-base/how-do-i-get-an-image-from-signatureviewcontroller.md)
- [How Do I Customize The Annotation Inspector](/guides/ios/knowledge-base/how-do-i-customize-the-annotation-inspector.md)
- [How Do I Download Pspdfkit As Fat Frameworks](/guides/ios/knowledge-base/how-do-i-download-pspdfkit-as-fat-frameworks.md)
- [How Do I Migrate From Cocoapods To Spm](/guides/ios/knowledge-base/how-do-i-migrate-from-cocoapods-to-spm.md)
- [Get notifications for unlocked password-protected PDFs](/guides/ios/knowledge-base/how-do-i-get-notified-when-a-password-protected-document-is-unlocked.md)
- [Other dependencies.](/guides/ios/knowledge-base/how-do-i-migrate-from-carthage-to-spm.md)
- [How to add annotations programmatically in iOS](/guides/ios/knowledge-base/how-do-i-programmatically-add-annotation-to-the-saved-annotations-list.md)
- [How Do I Present A Pspdftabbedviewcontroller In Cordova](/guides/ios/knowledge-base/how-do-i-present-a-pspdftabbedviewcontroller-in-cordova.md)
- [Fix incorrect page color in night appearance mode](/guides/ios/knowledge-base/how-do-i-reset-custom-document-render-options-before-change-the-appearance-mode.md)
- [How Do I Remove The Sign Arrow From The Signature Form Field](/guides/ios/knowledge-base/how-do-i-remove-the-sign-arrow-from-the-signature-form-field.md)
- [How Do I Select Or Deselect An Annotation Programmatically](/guides/ios/knowledge-base/how-do-i-select-or-deselect-an-annotation-programmatically.md)
- [Processor Write To File Url](/guides/ios/knowledge-base/processor-write-to-file-url.md)
- [Creating invisible digital signatures on iOS](/guides/ios/knowledge-base/invisible-signature.md)
- [Fixing library not found issues in iOS apps](/guides/ios/knowledge-base/library-not-found-swiftpm.md)
- [Block annotation editing and deletion in iOS](/guides/ios/knowledge-base/prevent-annotation-editing-allow-manipulation.md)
- [Separate Photo Library And Camera Actions](/guides/ios/knowledge-base/separate-photo-library-and-camera-actions.md)
- [Search Special Characters](/guides/ios/knowledge-base/search-special-characters.md)
- [Showing Annotation Tools In The Main Toolbar](/guides/ios/knowledge-base/showing-annotation-tools-in-the-main-toolbar.md)
- [Setting The Initial Page Selection When Sharing](/guides/ios/knowledge-base/setting-the-initial-page-selection-when-sharing.md)
- [Suppressing File Coordination Alerts](/guides/ios/knowledge-base/suppressing-file-coordination-alerts.md)
- [Zoom to specific PDF annotations easily](/guides/ios/knowledge-base/zoom-to-specific-annotation.md)

