CodeCanyon Gravity Forms Encrypted Fields - WordPress Plugin
The data protection plugin for Gravity Forms, the mentioned plugin, enhances security by encrypting sensitive information, ensuring safe data transmission on WordPress. It incorporates robust encryption methods, safeguarding user data within form submissions. This tool seamlessly integrates within the Gravity Forms environment, offering a seamless and secure user experience. By leveraging encryption techniques, it shields confidential data from unauthorized access, bolstering overall data protection measures.

Plugin Features
Safeguarding information is paramount in the digital realm, and this plugin excels in fortifying sensitive data within Gravity Forms submissions. It seamlessly encrypts specific fields, adding an extra layer of security to data handling processes. With its user-friendly interface, it simplifies the encryption process, making it accessible even to users without extensive technical expertise. By implementing CodeCanyon Gravity Forms Encrypted Fields, website owners can instill trust among users regarding the protection of their personal data, aligning with regulatory requirements and industry best practices.
The plugins encryption functionality extends to various types of sensitive data, such as financial information, personal details, and other confidential inputs collected through Gravity Forms. By encrypting these fields, it ensures that even if data is intercepted during transmission, it remains indecipherable to unauthorized parties. This proactive security approach mitigates risks associated with data breaches and privacy violations, fostering a secure online environment for both website owners and users.
Website administrators can configure and customize encryption settings according to their specific security requirements, tailoring the level of protection based on the sensitivity of the data being collected. Through a simple yet effective encryption management interface, they can select individual form fields for encryption, granting them control over the protection of different data elements. This flexibility empowers administrators to align encryption practices with organizational security policies, ensuring compliance with data protection standards and enhancing overall risk management strategies.
In conclusion, the encryption plugin for Gravity Forms is an indispensable tool for website owners seeking to fortify data security within their WordPress environment. By implementing this solution, users can transmit and store sensitive information with confidence, knowing that robust encryption measures are in place to safeguard their data. With its seamless integration, user-friendly interface, and customizable encryption options, this plugin offers a comprehensive data protection solution tailored to the specific needs of Gravity Forms users.
Specifications:
| Release date: | 12-07-2019 | |
| Last updated: | 23-02-2026 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | Access & Security Specific | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | CodeCanyon | |
| Rating: | ||
Share with your friends!
How to Set Up CodeCanyon Gravity Forms Encrypted Fields to Protect Gravity Forms Data
CodeCanyon Gravity Forms Encrypted Fields is not meant to dress up a form or replace Gravity Forms itself. It is an add-on for cases where a WordPress site collects personal, contractual, medical, financial, or otherwise sensitive data through forms, and the site owner wants to reduce the risk of a database leak, limit who can view entries in the admin area, and carefully control what appears in notifications, exports, and related views.
This guide walks through the practical implementation logic: which fields are actually worth encrypting, where it makes more sense to use hidden mode without encryption, how to divide access by roles and users, what to check before installation, and how to test entries, exports, search, and notifications. It also covers the key limitations: payment fields, User Registration, old entries, files, signatures, Save and Continue, Partial Entries, and scenarios where encryption can interfere with other Gravity Forms add-ons.
This material is written as a working guide for a site administrator, developer, or security owner. It does not promise absolute protection and does not replace a legal review of personal data requirements. The goal is different - to help you configure the plugin deliberately, without the common mistake of "turning encryption on for everything" and only later discovering that payments, registration, or integrations can no longer read the values they need.
What Problem the Plugin Solves and Where It Is Most Useful
Gravity Forms stores submitted entries in WordPress and lets you review them through the Forms section in the admin area. That works well for standard contact forms, consultation requests, surveys, and internal workflows. But the more sensitive the form fields become, the higher the cost of a mistake: an extra administrator sees data they should not see, a CSV export goes to the wrong employee, an attachment remains on the server, or an email notification sends the full set of fields.
CodeCanyon Gravity Forms Encrypted Fields is designed to protect exactly that layer - saved field values and access control inside Gravity Forms. The product page lists AES-256, selective encryption types, OpenSSL, strict asynchronous mode, hiding values without encryption, user- and role-based viewing permissions, merge tag restrictions, exact-match search across encrypted values, masked output, and the ability to remove IPs, signatures, individual fields, entries, and files after processing.
In practice, that means the plugin is useful for more than just "secret" forms. It matters anywhere the same entry needs to look different to different people. For example, a manager sees the name and phone number, accounting sees billing details, support sees the issue description, and a junior editor sees only the request status without any personal details. The real value of the plugin is not the word "encryption" itself, but the relationship between field, action, role, and outcome.
Typical Forms Where Protecting Fields Makes Sense
The plugin is most effective on forms where part of the data is needed to process the request, but should not sit openly in the admin area for everyone who can access entries. That may include:
- Service request forms that include a phone number, address, customer ID, date of birth, or detailed order information.
- Forms for legal, medical, education, or consulting projects where the user leaves a confidential description of their situation.
- Internal employee forms if Gravity Forms is used to collect HR, financial, or operational information.
- Forms with files and signatures when the attachment needs to be emailed in a notification but should not remain permanently stored on the server.
- Forms where some fields must remain available for search, export, and processing, while others should be hidden from most administrators.
When Encryption Should Not Be the First Option
If a form collects only public feedback, a simple newsletter signup without extra personal data, or a routine contact request, the plugin may be excessive. Implementing it requires discipline: you need to decide which fields to protect, who is allowed to see the values, which notifications should include real data, and which should show only a limited view. Without that map, the site does not gain security - it gains complexity.
You should be especially careful with fields used by payment gateways, user registration, CRMs, marketing integrations, or calculations. PluginOwl's support page explicitly explains that fields processed by payments, registration, or another add-on generally should not be encrypted before processing, because the third-party mechanism will not be able to read the value correctly. For those fields, hiding the value in the admin area or using delayed encryption after feeds and add-ons have run is often a better fit, if that approach makes sense for the specific form.
Practical rule: encrypt only what needs protection while stored in the Gravity Forms database. Do not encrypt values that another plugin must read as plain text before it finishes its operation.
What to Check Before Installing on a Live Site
Installing a security plugin without doing a quick inventory first usually leads to two problems. First, the administrator enables protection across too many fields and breaks useful workflows. Second, the plugin is installed on a site that already has old entries, integrations, access rules, and notifications, but no one checks what data is actually leaving the system. Before installation, describe the current form as a data flow.
Build a Data Map Before Deployment
Take one form and list five things for each important field: who fills it out, where the value is stored, who should be able to see it in the admin area, where it is sent after submission, and what breaks if the value is no longer available as plain text. That kind of list quickly shows which fields should be encrypted, which only need to be hidden, and which cannot be touched until integrations are tested.
| Field Type | Usually Best For | What to Check |
|---|---|---|
| Name, phone, address, email, date, text description | Selective encryption or hiding with view permissions. | Whether those values are needed in notifications, exports, a CRM, or a user account area. |
| Price, product, payment, discount fields | Usually should not be encrypted before payment processing. | Whether the values are used by the payment gateway, total calculations, or the order flow. |
| User registration fields | Usually do not encrypt profile-related values. | Whether an encrypted string would end up in WordPress user meta. |
| Files, signatures, IP | Delete after processing, attach to notifications, disable IP storage. | Whether the file needs to stay with the entry or only needs to be sent to the responsible person. |
Technical Requirements and Server Environment
The product page lists requirements for WordPress, PHP, Gravity Forms, and the server-side encryption module. In the current plugin branch, OpenSSL is the preferred option, while Mcrypt is presented as a legacy fallback for older environments. In practice, that means you should verify more than just Gravity Forms itself before installation on a live site. Check the server system status, the PHP version, OpenSSL availability, and the absence of critical WordPress errors.
If the site runs on modern PHP, treat OpenSSL as the default. If the hosting environment is old, confirm with the server administrator that the required extension is available and that no outdated settings are still in use. A security plugin should not become an excuse to preserve a weak server environment. Field encryption does not make up for missing HTTPS, weak admin passwords, overly broad user roles, or insecure backups.
Access Permissions in WordPress and Gravity Forms
Gravity Forms adds its own WordPress capabilities for building forms, viewing entries, exporting, accessing settings, updating, and logging. Gravity Forms documentation separately explains role management and recommends using a role manager when you need fine-grained capability control. That matters because CodeCanyon Gravity Forms Encrypted Fields works on top of the existing access model: if a user should not see entries at all, do not give them entry access just so you can hide half the fields afterward.
The right sequence is this: first restrict the base Gravity Forms permissions, then configure field-level access inside the plugin, and only after that verify exports and notifications. If you do it in the opposite order, you can end up with a field that is hidden while the user still has broader export, settings, entry editing, or add-on management rights than they should.
Installation, Activation, and the First Check
The plugin is distributed as a commercial CodeCanyon add-on. Technically, installation is similar to a standard WordPress ZIP plugin install: upload the archive through Plugins - Add New - Upload Plugin, activate it, then open the plugin settings and review the system guidance. But in this guide, the important part is not the archive upload itself - it is the safe rollout sequence.
A Practical Rollout Sequence
- Create a backup of the database and site files before installing on a live site.
- Confirm that Gravity Forms is active, the forms are working, notifications are being delivered, and entries open correctly in the admin area.
- Install and activate the plugin, then locate the
GF Encrypted Fieldssettings page in the admin area. - Open the system check and confirm that the correct encryption method is selected and the server is not reporting any critical requirement issues.
- Configure a test form or a copy of an important form first - do not turn protection on across all live forms immediately.
- Create a test entry and verify visibility for an administrator, a restricted user, CSV export, and notifications.
The product page mentions detailed built-in documentation on the options page, a visual system check, video tutorials, and encryption testing. Use those as part of the rollout process: they show which global setting is active, which method is selected, and whether the basic check passes. Do not move the configuration to the live form until the test entry has completed the full cycle successfully.
How to Choose a Test Form
The test form should resemble a real one, but it should not send data into important external workflows. A strong option is a copy of a consultation form with name, email, phone, message text, consent, file upload, and a hidden service field. In that copy, you can test different modes: encrypt the phone and message fields, hide the service field without encryption, exclude a field from {all_fields}, attach a file to a notification, and avoid storing it after processing if that matches your policy.
Do not start with a payment form or a registration form. They are more complex because the data passes through feeds and add-ons. For those forms, you first need to understand which fields must remain readable until processing is complete. If part of that data still needs protection, consider the "process feeds and add-ons before encrypting" mode only after separate testing on a copy of the form.
Encryption Methods, Keys, and Strict Access
The plugin settings include several protection layers. The first is standard selective encryption of values stored in the database. The second is hiding the value in the admin area without actual encryption, for cases where you need to restrict viewing but keep the field available to other mechanisms. The third is OpenSSL Async or Strict Access Mode, where decryption requires an additional login into an asynchronous access mode with a separate password, even for a user who already has viewing permission.
OpenSSL as the Primary Working Option
For modern sites, OpenSSL is the logical choice because the product author identifies it as the recommended and required option for newer PHP environments. There is no reason to anchor the setup to outdated Mcrypt unless you are maintaining a legacy site and fully understand its limitations. Even then, it is better to plan a move to a proper environment than build long-term protection around a deprecated extension.
The test is simple: enable the selected method, run the built-in encryption test, submit an entry, then review it as a user with viewing permission and as a user without it. If the first user sees the readable value and the second sees a restricted message or a blank area according to your configuration, the basic chain is working.
Keys and Administrative Discipline
The product page describes a system of separate generated and stored keys. From an administrator's standpoint, the practical conclusion is clear: do not treat keys as a decorative setting. Keys, backups, file access, and database access should all be protected through different administrative controls. If the same person has full access to WordPress, the database, backups, the file system, and the encryption settings page, the plugin still helps reduce accidental exposure, but the organizational risk remains high.
So after installation, review your roles. Remove unnecessary administrators, create dedicated roles for viewing form submissions, restrict unnecessary exports, enable two-factor authentication through a trusted third-party solution, limit access to backups, and use HTTPS. The product page explicitly supports this approach by reminding users that the plugin protects only one part of the data security model and should be used alongside standard security measures.
When to Enable Strict Asynchronous Mode
OpenSSL Async or Strict Access Mode makes sense where normal role separation is not enough. It adds another barrier: even a user with viewing permission must enter a separate access mode with an additional password. That can be useful for medical questionnaires, legal inquiries, internal investigations, financial records, or forms where access to fields is rare and limited to a designated employee.
But strict mode should not be enabled just for appearance. It changes the workflow: employees need to know when to enter the extra password, how long access stays open, what to do if the password is lost, and who is responsible for granting temporary access. If the team is small and the data is only moderately sensitive, it is more practical to start with field-level permissions, hidden values, and notification control, and use strict mode only for a few forms where the cost of exposure is high.
Field, Role, User: How to Configure Access Without Chaos
The most important part of the plugin is field-level configuration. CodeCanyon Gravity Forms Encrypted Fields lets you enable encryption or value hiding for supported field types and assign viewing permission to specific users or roles. It also includes global viewing permissions that can quickly grant access to all protected data for a specific role or user. That is convenient, but it is also where mistakes are easy to make.
The Difference Between Encryption and Hiding a Value
Encryption protects the value at rest. A user with viewing permission sees the decrypted result in the normal Gravity Forms interface, while a user without permission sees a restricted output. Hiding without encryption solves a different problem: the field can remain available for processing, but it will be hidden in the admin area for users without permission. That is useful for fields that should not be encrypted because of compatibility requirements, but still should not be visible to every entry editor.
For example, a "callback phone number" field can be encrypted if only a manager needs it and no external service reads it before the entry is saved. An "email for user creation" field usually should not be encrypted if it is passed into User Registration and stored in user meta. In that case, hiding the value in the entry view may be the better option if not everyone in the admin area should see it after registration.
Roles Versus Individual Users
Role-based access is convenient for stable teams: managers, accounting, senior administrators, support staff. Individual users make sense for exceptions: temporary access for an auditor, project lead, outside attorney, or the person responsible for a specific form. Do not mix both approaches without a reason. If you are manually adding exceptions every month, that usually means your role design does not reflect the real workflow.
Start with the smallest role that is sufficient for the job. If a user only needs to see a few fields in entries from one form, do not make them a site administrator. First assign the required base Gravity Forms capabilities through a role manager, then expose only the necessary fields in the plugin. After that, sign in as a test user for that role and verify the entry, export, search, and notifications.
How to Handle Restricted Display
The plugin lets you set separate messages for hidden and encrypted fields, or display nothing at all. The right choice depends on the workflow. If an employee should understand that data exists but they do not have permission to view it, use a short neutral message such as "Access restricted." If the very existence of a value is sensitive, a blank output is better. But do not put unnecessary details into the restricted message, such as "field encrypted because of medical data." That reveals context that may itself be sensitive.
To test it, create two entries: one with the protected field filled in and one without it. Then sign in as a user without access and confirm that the interface does not reveal more than you intended. If a blank output makes the workflow confusing, use a neutral label. If the label reveals too much, switch back to an empty output.
Merge Tags, Notifications, Export, and Search Across Protected Data
Most implementation mistakes with encryption do not happen when someone opens an entry. They happen when data is output through other Gravity Forms mechanisms. Notifications use merge tags, confirmations may show submitted values back to the user, CSV exports can include selected fields, and entry lists or third-party views may pull values through the API or shortcodes. That is why field configuration is not finished until you verify every output path.
What Happens to {all_fields}
The support page explains that fields using encryption or hiding show a restricted representation in {all_fields} by default. The plugin also includes filters that let you exclude specific fields from the {all_fields} output altogether. That matters because the standard admin habit of "send all fields in the notification" is a poor fit for sensitive data. Email should not turn into an informal copy of the Gravity Forms database.
The recommended model is simple: keep only service and non-sensitive fields in internal notifications, and include sensitive values only where there is a real operational need. If an employee needs to see a protected value, it is usually better for them to sign in to the admin area with the proper role and view the entry through the controlled interface. If a value truly must be sent by email, use a separate notification, a limited recipient list, and a clear reason for that output.
Custom Merge Tags and Passing the Encrypted String
The plugin advertises special merge tags: decrypted tags for approved output, encrypted tags for passing values forward, and tags that check user or role permissions before showing a readable value. That opens up more advanced scenarios, such as output through GravityView or passing an encrypted string between forms through a query string. But those scenarios require care: an encrypted string in a parameter should not become a public way to bypass access controls, and the receiving form should understand that the value is already encrypted and should not be encrypted again.
For a typical site, start with the basic field and notification setup. Leave custom merge tags for cases where there is a clear reason: displaying data in GravityView with permission checks, passing a value into a second form, or integrating with an external system that knows how to work with an encrypted string. If there is no such reason, do not make your email templates more complicated than necessary.
Entry Export and Exact Search
Gravity Forms lets you export entries through Forms - Import/Export and choose which fields go into the CSV file. CodeCanyon Gravity Forms Encrypted Fields preserves normal export behavior for users with viewing permissions, while users without access should not see the readable value. The plugin also advertises support for searching encrypted fields through native entry search, but with an important limitation: the search must use the exact value, not a partial string.
This limitation should be explained to the team. If a manager is used to searching by the last four digits of a phone number or by part of a name, that may no longer work. For protected fields, it is better to agree on an exact input format and keep a separate open service identifier if partial search is important. For example, you can store the request number or public ticket code in a normal field while encrypting the phone number and address.
Practical Example: A Consultation Form with Different Access Levels
Consider a concrete scenario. A site has a "Consultation Request" form. The user submits a name, email, phone number, subject, detailed description, consent to data processing, and optionally a file. The manager should see the name, phone, and subject. The senior specialist should see the detailed description. The content editor may see that a request exists and what it is about, but not the phone number or description. The security administrator should have access to all protected fields only when necessary.
Goal of the Scenario
The goal is to create a form where Gravity Forms continues to accept submissions, notifications arrive, entries are saved, but sensitive fields are not available to every user who has general access to entries. The phone number and detailed description should be stored securely. The file should not remain on the server any longer than needed for processing, if the project policy allows it to be sent only to the responsible recipient.
Preparing the Form
Create or copy a form with these fields: Name, Email, Phone, Subject, Message, File Upload, Consent. Make sure the form submits a standard test entry without errors. Also confirm that the notification arrives with a proper sender, because Gravity Forms documentation separately warns about the importance of a correct From Email for deliverability.
Then create test roles or users. For example, support_manager, senior_specialist, and content_editor. Use a role manager to assign them only the Gravity Forms capabilities they actually need. For a basic test, existing roles may be enough, but on a live site it is better not to test access under real administrator accounts, because administrators often have far broader capabilities than the actual workflow requires.
Configuring Protected Fields
- Open the form in the Gravity Forms editor and select the
Phonefield. - Enable encryption for it if the phone number is not needed by an external feed before the entry is saved, and grant viewing permission to the manager and senior specialist roles.
- Open the
Messagefield and enable encryption so that only the senior specialist and security administrator can view it. - Do not enable encryption for the
Emailfield if it is used in notifications, personal data identification, or registration. If needed, configure hidden output for users without permission. - For
File Upload, decide whether the file needs to be stored. If not, use the plugin options to attach it to the selected notification and remove the file or entry after processing, if that matches your workflow. - Configure restricted display: for an editor, it may be enough to show "Access restricted," while a stricter setup can show an empty value instead.
After saving the settings, do not change all old entries at once. First submit a new test request. Sign in as the manager and confirm that the phone number is visible while the detailed description is hidden. Sign in as the senior specialist and verify both fields. Sign in as the editor and make sure the request is available only within the intended limits.
Checking Notifications and Export
Open the form notification settings. If the email uses {all_fields}, verify that sensitive fields are not being sent in full. For a manager notification, it is better to build an explicit template: request subject, name, entry link, and the minimum safe amount of data. For a senior specialist, you can create a separate notification, but only if sending sensitive text by email is allowed under your policy.
Then export the test entry once as a user with viewing permission and once as a user without it. A user with permission should receive readable values where allowed. A user without permission should not see the phone number or description as plain text. Finally, test exact-match search by phone number. If the team searches differently, document that as a process limitation and add a separate service identifier.
Old Entries, Data Deletion, and Add-On Compatibility
Many Gravity Forms sites already have an accumulated database of submissions. Turning encryption on for a field does not automatically convert all old values into encrypted ones. The support page makes this clear: old data may be hidden in the admin area for users without permission, but in the database it will remain readable until you run the built-in batch or custom entry encryption. That is one of the most important implementation details.
How to Work with Old Entries
First decide whether you need the old entries at all. If they are obsolete, it is usually safer to set a retention policy or remove them under your internal rules than to encrypt an archive without a clear purpose. Gravity Forms includes a Personal Data section where you can disable IP storage, configure entry retention, and enable personal data export or deletion through WordPress tools. The PluginOwl add-on extends that with its own capabilities: encrypt previous entries, remove encryption, delete specific fields, entries, signatures, and files after processing.
If the old entries must remain, handle them in batches. Start with a backup, then choose one form and a limited set of fields, run the process, and review the report. Do not launch archive-wide encryption at the end of the workday without a responsible administrator available. After processing, verify several old entries, export behavior, search, and field visibility under different roles.
Delayed Encryption After Feeds and Add-Ons
One of the product's stronger capabilities is delayed encryption after submission, user registration, notifications, and feeds. The idea is that other add-ons receive normal values while processing, and only afterward are the values encrypted for storage in Gravity Forms. That is useful for forms where part of the data must pass through an integration but should not remain exposed in the saved entry.
But it is not a universal button. If an external service stores its own copy of the data, encrypting the Gravity Forms entry does not protect the copy in that service. If User Registration stores the value in user meta, it must remain readable to WordPress and other plugins. If a payment gateway processes pricing fields, those fields usually cannot be encrypted. Check not only the Gravity Forms entry, but every destination the value reaches before encryption happens.
Files, Signatures, and IP
Files and signatures need a separate decision. Gravity Forms documentation for File Upload warns that uploaded file URLs are not, by default, a full access control system: anyone with the correct link may be able to download the file unless extra protections are in place. For sensitive attachments, it is often better to remove them after processing, attach them to a notification before deletion, or store them in a separate protected system.
The plugin advertises auto-delete options for signatures, individual fields, entries, and file uploads after submission, user registration, notifications, and feeds. Use that not as a decorative setting, but as part of your retention policy. If a file is needed only so a responsible employee can review the request, do not keep it in WordPress indefinitely. If the file serves as legal evidence, define the storage period and storage location in advance.
How to Verify the Result After Configuration
Your verification should imitate the real lifecycle of a request. It is not enough for an administrator to see an encrypted field displayed as readable text. Administrators almost always have more rights than regular participants in the process. At minimum, you need three tests: a user with full access, a user with partial access, and a user with no access to protected fields.
Post-Enablement Test Scenario
- Submit a new entry with unique test values that are easy to search by exact match.
- Open the entry as a user with viewing permission and make sure the value is readable without manual steps if strict mode is not enabled.
- Open the same entry as a user without permission and verify the restricted display.
- Resend the notification or create a new submission and check which values arrived by email.
- Export selected fields under different roles and confirm that the CSV does not expose extra data.
- Test exact-match search on the protected field and document how the team is supposed to search for entries.
- If deletion of files, signatures, IPs, or entries is enabled, verify that deletion happens after the necessary feeds and notifications, not before.
What Counts as a Successful Check
The setup can be considered working only if the same request behaves predictably everywhere: the public form submits correctly, the entry is saved, the authorized user sees what they need, the unauthorized user sees only restricted output, email does not reveal extra information, export follows the assigned permissions, search works in the expected format, and integrations do not receive an encrypted string where they require plain text.
Do not roll this configuration out to several forms at once. First complete the full test cycle on one form, then repeat only the necessary parts on the next one.
Troubleshooting Common Problems After Enabling Protection
Problems with plugins like this rarely look like "the whole site is broken." More often, the issue is localized: one field is not visible to the right employee, search no longer finds a partial value, an email went out with protected text hidden, registration created a user with incorrect meta, or old entries disappeared in the admin area but were never actually encrypted. Below is a practical troubleshooting map.
The user sees "Access restricted" instead of the required value
Symptom: the field is filled in, the administrator sees the value, but the manager or specialist sees only the restricted display.
A likely reason is that permission was assigned to a different role, the user has multiple roles with conflicting expectations, the global permission was not applied, or you are testing under the wrong account. Check the base Gravity Forms capabilities, then the field permissions in the plugin settings, then the global access list. If strict asynchronous mode is enabled, confirm that the user not only has permission, but has also entered that mode using the additional password.
Fix: assign access to the smallest role that actually needs it, or to the specific user, save the form, sign out of the test account, and sign back in. If access is temporary, it is better to grant it to one specific user and later revoke it than to broaden the permissions of the entire team role.
Payment, registration, or an integration does not receive a normal value
Symptom: the form submits, but the payment add-on, User Registration, CRM, or another feed receives a strange string, an empty value, or fails to complete the action.
The likely cause is that the field was encrypted before the add-on had a chance to process the plain text. PluginOwl's support page separately warns that payment and registration fields usually should not be encrypted, because other systems will not be able to decrypt them on their own. In some cases, processing feeds and add-ons before encryption works, but that option must be tested on the specific form.
Fix: disable encryption for the field that must remain readable to the external mechanism. If the goal is simply to hide it from administrators, use hide field value instead. If the data can be encrypted after feeds run, enable delayed mode and repeat the full test flow from submission through entry review.
Old entries are hidden, but not actually protected in the database
Symptom: users without permission can no longer see the old value in the admin area, but you are not sure the historical data is truly encrypted.
This is expected behavior: enabling encryption on a field does not automatically rewrite old entries. Older data requires batch or custom entry encryption from the plugin settings. Before running it, create a backup and process only a small range if the interface allows it. After the report completes, check several entries and make sure search, export, and viewing work the way they should.
Search on a protected field no longer works the way it used to
Symptom: the exact phone number is found, but part of the phone number, part of a name, or a text fragment returns no result.
The plugin advertises native search on encrypted fields, but only by exact match. That limitation is logical: partial search over encrypted text is not the same as normal search over plain strings. The solution is not to disable protection, but to change the process. Add a request number, public ticket code, or another non-sensitive identifier for quick lookup.
A notification sends more data than expected
Symptom: a protected field is not visible in the entry to an unauthorized user, but the email contains the value or includes more detail than expected.
Check the notification template. If it uses {all_fields}, configure filtering, field exclusion, or dedicated custom merge tags. Then create a new entry and inspect the actual email. Do not rely on a visual check of the form alone: the email path is separate from the entry view path.
Files remain accessible by direct link
Symptom: the field is hidden in the entry, but the file can still be opened by direct URL if someone knows the link.
This is tied to the general behavior of Gravity Forms File Upload: the URLs may be hard to guess, but they are not always protected by authenticated access. If the file is sensitive, review the options to delete file uploads after processing, attach them to notifications before deletion, and apply separate File Upload Security measures. If the file must be stored long term, the standard WordPress uploads location may be the wrong storage destination without additional protection.
Questions Worth Resolving Before Going Live
Can I just enable encryption on every field in the form?
Technically, you can protect many fields at once, but in practice that is a poor starting strategy. Payment, product, registration, and integration-related fields often need to remain readable for other add-ons. Start with a data map and encrypt only the values that an external mechanism does not need before processing is finished.
Will the plugin help with GDPR or another personal data policy?
It can help protect data at rest and limit access in the admin area, but it does not cover the full set of organizational and legal requirements. You still need HTTPS, controlled user permissions, a retention policy, processes for export and deletion requests, secure backups, and a clear access procedure.
What happens to older submissions after I enable a field?
Old values may be hidden from users without permission, but they do not automatically become encrypted in the database. Use the built-in processing for old entries and review the report. Always create a backup before running a bulk operation.
Can I search entries by an encrypted phone number or email?
The plugin advertises search on encrypted fields through native entry search, but only by exact match. Partial search by a fragment of the value should not be treated as the main workflow. For quick lookup, add an open service identifier to the entry.
Should decrypted values be sent by email?
Only if that is truly necessary and allowed by your internal policy. It is better to send the minimum amount of data and include a link to the entry, where access is controlled by roles and plugin settings. If the email must include a protected value, create a separate notification with a clearly defined recipient list.
Is the plugin suitable for User Registration?
Yes, it can be used alongside User Registration, but you generally should not encrypt fields that become user meta or that WordPress needs as plain readable text. For those fields, hidden output is usually the better choice, while encryption is applied to other fields in the same form.
What should I do if a file is sensitive?
Do not assume that hiding the field is enough to protect the file. Check where the upload is stored, who receives the link, whether the file should be attached to a notification, and whether it should be deleted after processing. If the file must be retained long term, consider a separate protected storage system and additional File Upload Security measures.
When CodeCanyon Gravity Forms Encrypted Fields Is the Right Choice
This plugin is worth using if you already rely on Gravity Forms, collect sensitive data, and want to manage not only whether a value is encrypted, but also who can see each field, what appears in merge tags, how exports behave, and how old entries, files, and integrations are handled. It is especially useful on sites where Gravity Forms has become a working database of requests and multiple roles have access to the admin area.
It may be unnecessary for simple contact forms with no sensitive information, and risky if enabled carelessly on payment or registration fields. The best results come when the setup starts with a data map, moves through a test form, and is then checked by role, notification, export, search, and old-entry behavior.
If you are ready to implement protection that way - selectively, with verification, and without promises of absolute security - you can move to the download section and download the latest version of CodeCanyon Gravity Forms Encrypted Fields for testing on a site copy or staging environment. After the first test, document the selected fields, roles, notifications, and retention rules in a short internal guide so the next form is configured by a clear standard instead of from scratch.
How to Plan Protected Fields Before Launching a Form
Before turning encryption on, it helps to divide the form not by technical field types, but by data categories. CodeCanyon Gravity Forms Encrypted Fields is usually needed when a single submission mixes ordinary contact details, internal manager notes, and information that should not remain exposed in the site database. If you encrypt everything, the administrator quickly loses the ability to search, filter, and support the workflow efficiently. If you encrypt too little, the form only looks secure on paper.
Start with a simple field map. Mark which values are needed only for the initial contact, which are used in notifications, which must go into a CRM or spreadsheet, and which should be available only to the responsible employee. In a typical contact form, there is often no need to protect the name and general question, but a field with a contract number, incident description, internal customer identifier, or a medical, legal, or financial detail requires a separate decision. It is important not to confuse encryption with access permissions: encryption reduces the risk of database-level exposure, while WordPress and Gravity Forms permissions determine who can see the entry in the admin panel.
For each form, define the smallest set of open fields in advance. Those fields help the team quickly find the right entry, understand the topic, and assign the request to the right person. The remaining fields can be moved into protected mode. That approach is especially useful on sites where several roles handle submissions: the site administrator maintains the technical side, the manager responds to the client, the specialist sees only the details relevant to the task, and the project owner oversees the outcome. In that scenario, Gravity Forms Encrypted Fields does not replace policy, but it helps make policy enforceable.
Also review any fields involved in conditional logic, calculations, or notification routing. If a field affects the recipient, price, request category, or confirmation text, test the form on a copy first. Do not enable protection on a live form the night before an ad campaign or mass email launch. It is safer to create a test form, duplicate the key fields, enable the required settings, and walk through the full path: submission, entry in Entries, admin email, user email, export, search, and deletion of the test request.
If you are only preparing the site to collect sensitive data, download and install the plugin from the Gravity Forms Encrypted Fields download section after checking compatibility with your current WordPress, Gravity Forms, mail plugin, and third-party integrations. On an existing site, create a backup of the database and files first, then enable protection on one form rather than across every form in the project at once.
A Working Scenario for a Request with Private Data
Consider a practical case: the site has a consultation form where a visitor enters a name, email, subject, order number, and a detailed problem description. The manager needs the name, email, and subject in order to respond quickly. The technical specialist needs the order number and the description. The site owner needs the request history, but does not necessarily need to see every sensitive detail in email notifications. In a form like this, encryption works best when applied selectively. Otherwise, the team will start forwarding decrypted data manually and cancel out most of the benefit.
First, leave open the service fields that make the entry easy to find: name, email, subject, submission date, processing status. Then protect the fields where the user reveals private information. After that, configure Gravity Forms notifications so that emails do not become a copy of the full submission. The safe model is simple: the email says that a new request has arrived, shows the minimum amount of context, and sends the employee to the admin area, where access is controlled by account permissions. If the full text of a protected field still appears in the email, database encryption no longer solves the leakage risk through the mailbox.
Within WordPress, review the roles of the users who work with forms. On a small site, one administrator and one employee with Gravity Forms access may be enough. For a team, create separate accounts, disable shared logins, and remove extra capabilities from people who do not need plugin settings, full-record export, or user management. CodeCanyon Gravity Forms Encrypted Fields helps protect field values, but it should not become an excuse to hand out administrator rights too broadly.
After configuration, send several test requests with different conditional logic outcomes. One request should be standard, another should include a protected field, a third should leave the protected field empty, and a fourth should include an attachment or an additional comment if those elements are part of the form. Then open each entry in Entries and review how the data appears, how notifications behave, how export works, and how the integrations respond. If some of the data does not need to appear in exports, it is better to exclude it at the workflow level than to export the file and manually remove extra columns later.
This scenario illustrates the main rule: a protected form still has to remain usable for employees. If a manager does not understand where to see decrypted information, they will start asking the client to resend it through chat or personal email. That is why technical configuration should be paired with a short internal guide explaining where to open a request, which fields can be copied into the CRM, what must not be sent by email, who is responsible for deleting old entries, and where suspicious access should be reported.
Verification After Changing the Form, Theme, or Integration
Field encryption should not be treated as a one-time setting. Forms evolve with the site: new fields are added, notifications are changed, CRMs are connected, the theme is updated, anti-spam modules are introduced, and the email transport changes. After those changes, you should repeat a short control test, because the problem may appear not in the plugin itself, but at the boundary between Gravity Forms, the output template, and an external service.
A basic check takes only a few minutes. Open the form as a visitor, complete all required fields, submit the request, and make sure the user sees the correct confirmation. Then sign in to WordPress using the account that will actually process the requests and review the entry. Next, open the mailbox that receives notifications and see whether any data you intentionally protected ended up in the email. If a CRM, spreadsheet, webhook, or automated task is connected, check that channel as well. You cannot stop at the public-facing submission alone - you need to see where the data goes after it is stored.
Pay special attention to exports and backups. Even if field values are stored in encrypted form, export files, integration logs, and database backups may be distributed under different rules. Keep those files only as long as necessary, share them only through protected channels, and do not attach them to support tickets without sanitizing them first. If a developer or contractor needs an example of an error, create a test submission with fictional data instead of sending a real customer request.
When updating Gravity Forms, WordPress, or the plugin itself, do not change several critical components at once if the site is actively receiving submissions. It is more practical to update a site copy first, submit test forms, check the entries, and only then repeat the update on the live version. If there is no separate staging copy, choose a quiet time, create a backup, and prepare a rollback plan. The rollback plan should be specific: where the backup is stored, who has access to it, how long recovery will take, and which submissions may be lost between the backup and the rollback point.
After each change, record the verification result in a simple table or internal note: the check date, which form was tested, which fields are protected, and who verified the submission, notification, and admin-side entry. That is not bureaucracy for its own sake. When someone asks months later why a field is visible in an email or why an integration received extra information, that note quickly shows whether it was an intentional setting or a fresh error introduced after the form changed.
How to Protect Data Without Breaking Support and Analytics
A common mistake when configuring protected fields is trying to hide everything without considering support, reporting, and the day-to-day handling of requests. In practice, a site needs more than secrecy - it needs control. The team has to understand how many requests came in, which topics repeat, which forms produce more errors, where users abandon the process, and which requests need urgent attention. If every useful field becomes unavailable for search and filtering, employees will start maintaining parallel spreadsheets, and that creates a new risk.
Separate the data into content fields and operational fields. Content fields describe the customer's issue and may be sensitive. Operational fields help organize the work: category, source, policy consent, status, assigned employee, internal comment without private details. Operational fields are usually better left available for filtering as long as they do not reveal too much. That way, Gravity Forms Encrypted Fields protects the riskiest part of the submission while the team keeps a clear view of the queue.
For analytics, use aggregated indicators instead of full request texts. For example, instead of exporting detailed problem descriptions, count categories, statuses, requests per form, and response times. If you need to review support quality, use anonymized test examples or entries that were sanitized in advance. The less real private data ends up in reports, the easier it is to share those reports with an editor, marketer, contractor, or manager without extra risk.
Support should also follow clear rules. An employee should not copy a protected field into a shared messenger, forward it to personal email, or paste it into a task in an external system if that system does not use the same access model. An internal comment should describe the action taken, not duplicate the user's secret data. For example, instead of repeating the full document number, note that the document was reviewed, clarification is required, or the data does not match the order. That way the team continues to work quickly without spreading sensitive information across dozens of locations.
If the site uses several forms, do not carry settings over mechanically. An event registration form, a quote request, a support inquiry, and a submission with legal data all carry different risks. Define a separate set of protected fields, notifications, and recipients for each form. It takes more time at the start, but it reduces unexpected conflicts and makes the protection model understandable for the people who work with submissions every day.


