---
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-06-09T10:31:08.596Z"
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)
- [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)
- [Fix app store connect operation errors in Xcode](/guides/ios/knowledge-base/app-store-connect-operation-errors.md)
- [Archive Errors Cocoapods](/guides/ios/knowledge-base/archive-errors-cocoapods.md)
- [Configuring Scroll Views](/guides/ios/knowledge-base/configuring-scroll-views.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)
- [Customize your iOS navigation bar above crop UI](/guides/ios/knowledge-base/customize-the-navigation-bar-in-crop.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)
- [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)
- [Gatekeeper Alerts Mac Catalyst](/guides/ios/knowledge-base/gatekeeper-alerts-mac-catalyst.md)
- [Generate PDFs from complex HTML](/guides/ios/knowledge-base/generating-pdf-from-complex-html.md)
- [Customize action sheet appearance on iOS links](/guides/ios/knowledge-base/hide-or-customize-the-action-sheet-link-long-press.md)
- [Adding a custom view controller in iOS](/guides/ios/knowledge-base/how-do-i-add-custom-controller-to-containerviewcontroller.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)
- [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)
- [Capture ink signatures using SignatureViewController](/guides/ios/knowledge-base/how-do-i-get-an-image-from-signatureviewcontroller.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 Do I Migrate From Cocoapods To Spm](/guides/ios/knowledge-base/how-do-i-migrate-from-cocoapods-to-spm.md)
- [How Do I Present A Pspdftabbedviewcontroller In Cordova](/guides/ios/knowledge-base/how-do-i-present-a-pspdftabbedviewcontroller-in-cordova.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 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)
- [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 Select Or Deselect An Annotation Programmatically](/guides/ios/knowledge-base/how-do-i-select-or-deselect-an-annotation-programmatically.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)
- [Processor Write To File Url](/guides/ios/knowledge-base/processor-write-to-file-url.md)
- [Search Special Characters](/guides/ios/knowledge-base/search-special-characters.md)
- [Separate Photo Library And Camera Actions](/guides/ios/knowledge-base/separate-photo-library-and-camera-actions.md)
- [Setting The Initial Page Selection When Sharing](/guides/ios/knowledge-base/setting-the-initial-page-selection-when-sharing.md)
- [Showing Annotation Tools In The Main Toolbar](/guides/ios/knowledge-base/showing-annotation-tools-in-the-main-toolbar.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)

