Easily create mandatory fields in monday.com—and never miss vital data again!
Mandatory Fields helps teams collect every bit of data and avoid following up on tasks by creating mandatory fields within monday.com Boards. Now, data entry compliance is guaranteed!
Simply configure which columns must be completed for each item. Once deployed, Mandatory Fields will immediately notify users of incomplete fields and automatically move those items back to the origin group, a game changer for data quality and efficiency.
Popular Features:
- Create mandatory fields at the Board level.
- Prevent incomplete items from reaching the next group.
- Alert users of incomplete data and automatically return items back to origin groups.
- Never again miss an important piece of data.
- Stop following up on incomplete data or tasks.
Greater accuracy, compliance, and productivity is a click away with Mandatory Fields. Get started with a free plan now!
Watch a short demonstration video on our application, or book a demo with us here
Security & Compliance
Security
Does the developer periodically perform penetration testing?
Not answered
Does the developer have a dedicated security and privacy point of contact for such issues or questions?
Yes
Yes, the app has a dedicated security and privacy point of contact. For any issues or questions, you can reach us at [email protected]
Does the app restrict redirects and forwards only to approved destinations, or show a warning when redirecting to potentially untrusted content?
Yes
The app does not perform redirects to external destinations, ensuring there is no risk of redirecting users to untrusted content.
Does the app protect against mass parameter assignment attacks?
Yes
Yes - The app protects against mass parameter assignment by using Mongoose schema definitions to restrict which fields can be updated. We validating monday API calls through GraphQL. This ensures only authorized fields are processed during mutations, preventing unauthorized changes.
Does the app perform encoding and sanitization on all user supplied parameters to protect against Cross-Site Scripting?
Yes
Yes, the app protects against Cross-Site Scripting (XSS) by leveraging React’s built-in protection, which automatically escapes user-supplied data before rendering in the DOM. Additionally, DOMPurify is used to sanitize inputs, ensuring all user-supplied parameters are properly cleaned before processing or display.
Does the developer protect all state-changing actions against Cross-Site Request Forgery (CSRF)?
Yes
Yes, the app is protected against CSRF as it uses JWT, a strict CORS policy with Access-Control-Allow-Origin, restricted to trusted domains, and Access-Control-Allow-Credentials is securely configure
Does the developer have mechanisms to notify monday.com in case of a security breach?
Yes
Yes, In case of an issue we approach via this form: https://support.monday.com/hc/en-us/requests/new?ticket_form_id=13855862562962
Does this developer have a process for installing application-level updates and security patches for the service (such as software packages and databases)?
Yes
Yes, We are always pushing new updates and patches. Critical and high we deliver it immediately. we analyze dependencies with a software composition analysis tool. The rest within two days.
Compliance
Is the app certified with the information security standard ISO/IEC 27001:2022?
Not answered
Is the app compliant with the Health Insurance Portability and Accountability Act (HIPAA)?
Not answered
Is the app certified with System and Organization Controls (SOC 2 or SOC 3)?
Not answered
Is the app compliant with the General Data Protection Regulation (GDPR)?
Not answered
Data
Does the app send any data outside of monday.com? If yes, indicate whether the data is customer-submitted (e.g., board names, item names, doc content) or non-customer-submitted (e.g., account ID, board ID, user ID).
Yes
The app send data to the database and logs to error monitoring & management tool. We only store the minimal necessary information required for the app to function, ensuring each customer's data remains separate from others. Additionally, sensitive data is encrypted to further protect privacy and security.
Where does the app store logs data?
Not answered
Where does the app store the app data?
DB
MongoDB Atlas
Does the developer ensure application logs do not contain secrets or personally-identifiable information (PII)?
Yes
Yes, the developer ensures application logs do not contain secrets or personally identifiable information (PII). App secrets are securely stored in environment variables and are never logged, ensuring sensitive data remains protected.
Is customer data segregated from the data of other customers (for example logically or physically)?
No
No, customer data is not physically segregated. However, we only store some data related to the user in our database: the user’s email, company name, and domain name. These are securely stored and encrypted to ensure privacy and protection.
Privacy
Does the developer enforce multi-factor authentication on employees access to systems which may process customer data?
Yes
Yes, the developer enforces multi-factor authentication (MFA) for employee access to systems processing customer data, including MongoDB (native MFA), Railway.app (native MFA), and monday.com (MFA).
Does the developer protect access to customer data based on the principle of least privilege?
Not answered
Reviews
December 1, 2024
OG: The perfect tool to help make sure all my data is there!
February 19, 2024
TS: Sorry, I find the app to be quite basic, with extensive efforts that are needed in order to make things tight and well set (e.g. items validations, formulas' flexibility,etc)
May 15, 2023
HB: Incredible! makes the torch passing between sales and CSM so easy!
May 15, 2023
YT: This was needed for so long. finally a way to have gated promotions between groups!
May 14, 2023
RA: Great app!
Installation history
We have data for December 28, 2024 onwards only. Collected sometime after 00:00 UTC daily.
{
"id": 10000209,
"description": "<p>Mandatory Fields helps teams collect every bit of data and avoid following up on tasks by creating mandatory fields within monday.com Boards. Now, data entry compliance is guaranteed!</p><p><br></p><p>Simply configure which columns must be completed for each item. Once deployed, Mandatory Fields will immediately notify users of incomplete fields and automatically move those items back to the origin group, a game changer for data quality and efficiency.</p><p><br></p><p><strong>Popular Features:</strong></p><p>- Create mandatory fields at the Board level.</p><p>- Prevent incomplete items from reaching the next group.</p><p>- Add mandatory fields across multiple Boards, running multiple independent processes.</p><p>- Alert users of incomplete data and automatically return items back to origin groups.</p><p>- Never again miss an important piece of data.</p><p>- Stop following up on incomplete data or tasks.</p><p><br></p><p>Greater accuracy, compliance, and productivity is a click away with Mandatory Fields. Get started with a free plan now!</p><p><br></p><p><a href=\"https://www.youtube.com/watch?v=PS05yrIO44w\" rel=\"noopener noreferrer\" target=\"_blank\"><strong>Watch</strong></a><strong> a short demonstration video on our application, or book a demo with us </strong><a href=\"https://forms.monday.com/forms/4d5dae73165f78cb68783def8e0bcc68?r=use1\" rel=\"noopener noreferrer\" target=\"_blank\"><strong>here</strong></a><strong> </strong></p>",
"short_description": "Easily create mandatory fields in monday.com—and never miss vital data again!\n",
"compliance_answers": [
{
"questionId": 19,
"shortAnswer": true,
"detailedAnswer": "The app send data to the database and logs to error monitoring & management tool. We only store the minimal necessary information required for the app to function, ensuring each customer's data remains separate from others. Additionally, sensitive data is encrypted to further protect privacy and security."
},
{
"questionId": 17,
"dataHostingProvider": "DB",
"detailedAnswer": "MongoDB Atlas"
},
{
"questionId": 14,
"shortAnswer": true,
"detailedAnswer": "Yes, the app has a dedicated security and privacy point of contact. For any issues or questions, you can reach us at [email protected]"
},
{
"questionId": 10,
"shortAnswer": true,
"detailedAnswer": "The app does not perform redirects to external destinations, ensuring there is no risk of redirecting users to untrusted content."
},
{
"questionId": 9,
"shortAnswer": true,
"detailedAnswer": "Yes - The app protects against mass parameter assignment by using Mongoose schema definitions to restrict which fields can be updated. We validating monday API calls through GraphQL. This ensures only authorized fields are processed during mutations, preventing unauthorized changes."
},
{
"questionId": 8,
"shortAnswer": true,
"detailedAnswer": "Yes, the developer ensures application logs do not contain secrets or personally identifiable information (PII). App secrets are securely stored in environment variables and are never logged, ensuring sensitive data remains protected."
},
{
"questionId": 7,
"shortAnswer": true,
"detailedAnswer": "Yes, the developer enforces multi-factor authentication (MFA) for employee access to systems processing customer data, including MongoDB (native MFA), Railway.app (native MFA), and monday.com (MFA)."
},
{
"questionId": 5,
"shortAnswer": true,
"detailedAnswer": "Yes, the app protects against Cross-Site Scripting (XSS) by leveraging React’s built-in protection, which automatically escapes user-supplied data before rendering in the DOM. Additionally, DOMPurify is used to sanitize inputs, ensuring all user-supplied parameters are properly cleaned before processing or display."
},
{
"questionId": 4,
"shortAnswer": true,
"detailedAnswer": "Yes, the app is protected against CSRF as it uses JWT, a strict CORS policy with Access-Control-Allow-Origin, restricted to trusted domains, and Access-Control-Allow-Credentials is securely configure"
},
{
"questionId": 3,
"shortAnswer": true,
"detailedAnswer": "Yes, In case of an issue we approach via this form: https://support.monday.com/hc/en-us/requests/new?ticket_form_id=13855862562962"
},
{
"questionId": 2,
"shortAnswer": true,
"detailedAnswer": "Yes, We are always pushing new updates and patches. Critical and high we deliver it immediately. we analyze dependencies with a software composition analysis tool. The rest within two days."
},
{
"questionId": 1,
"shortAnswer": false,
"detailedAnswer": "No, customer data is not physically segregated. However, we only store some data related to the user in our database: the user’s email, company name, and domain name. These are securely stored and encrypted to ensure privacy and protection."
}
],
"badges_data": {
"acquisition_source": "No touch",
"pricing_data": "Free plan available",
"app_values": [
"Easier resource management"
]
},
"data": {
"terms_of_service_url": " https://eswlab.com/products/monday/esls-apps/mandatory-fields/eula/"
},
"keywords": "default columns, mandate,item restrictions, mandatory application,restrictions application,column restrictions, mandatory columns,columns, mandatory,Restrictions",
"thumbnail_url": "https://dapulse-res.cloudinary.com/image/upload/v1684077097/monday-apps-marketplace/Mandatory%20Fields/large-App_card.png",
"logo_url": "https://dapulse-res.cloudinary.com/image/upload/v1684077094/monday-apps-marketplace/Mandatory%20Fields/%D7%90%D7%99%D7%99%D7%A7%D7%95%D7%9F_%D7%A1%D7%95%D7%A4%D7%99_192_192.png",
"feedback_url": "[email protected]",
"privacy_policy_url": "https://eswlab.com/products/monday/esls-apps/mandatory-fields/privacy-policy/",
"external_pricing_url": "https://eswlab.com/products/monday/esls-apps/mandatory-fields/pricing/",
"featured": null,
"security": null,
"display_in_template_store": null,
"acquisition_source": "No touch",
"terms_of_service_url": " https://eswlab.com/products/monday/esls-apps/mandatory-fields/eula/",
"label": null,
"app_values": [
"Easier resource management"
],
"security_info": null,
"gallery_assets": [
{
"url": "https://dapulse-res.cloudinary.com/video/upload/v1684077138/monday-apps-marketplace/Mandatory%20Fields/ESLs_Mandatory_fields_for_monday.com.mp4",
"type": "video"
},
{
"url": "https://dapulse-res.cloudinary.com/image/upload/v1693464628/monday-apps-marketplace/Mandatory%20Fields/New%20designs/mandatory_fields1.png"
},
{
"url": "https://dapulse-res.cloudinary.com/image/upload/v1693464628/monday-apps-marketplace/Mandatory%20Fields/New%20designs/mandatory_fields.png"
},
{
"url": "https://dapulse-res.cloudinary.com/image/upload/v1693464628/monday-apps-marketplace/Mandatory%20Fields/New%20designs/mandatory_fields3.png"
},
{
"url": "https://dapulse-res.cloudinary.com/image/upload/v1693464628/monday-apps-marketplace/Mandatory%20Fields/New%20designs/mandatory_fields4.png"
}
],
"pricing_data": "Free plan available",
"marketplace_developer_id": 10000016,
"app_id": 10020526,
"marketplace_category_ids": [
10000011,
6,
5
],
"name": "Mandatory Fields",
"app_scope_str": "me:read,boards:read,boards:write,notifications:write,account:read,users:read,workspaces:read",
"app_client_id": "b2182657e098a094505c7c7321e13549",
"app_color": {
"hsl": {
"h": 47.76470588235294,
"s": 0,
"l": 1,
"a": 1
},
"hex": "#ffffff",
"rgb": {
"r": 255,
"g": 255,
"b": 255,
"a": 1
},
"hsv": {
"h": 47.76470588235294,
"s": 0,
"v": 1,
"a": 1
},
"oldHue": 47.76470588235294,
"source": "rgb"
},
"created_at": "2023-05-14T15:24:08.996Z",
"updated_at": "2025-01-08T20:49:57.488Z",
"how_to_use_url": "https://board-restrictor-back-production.up.railway.app/howto/",
"automation_app_id": null,
"plans": [
{
"id": "10020526-1-free_plan_id",
"appId": 10020526,
"appPlanId": "free_plan_id",
"versionId": 1,
"versionState": "live",
"name": "Free",
"description": "A free plan to see if this is for you",
"extraData": {
"bullets": [
"Up to 3 restrictions a month",
"Up to 3 columns",
"In 1 Board"
],
"monthlyFee": 0,
"yearlyFee": 0,
"maxSeats": null
},
"isTrial": false,
"isRecommended": false,
"isFree": true,
"currency": "USD",
"prices": {
"type": "standard",
"monthly": 0,
"yearly": 0
}
},
{
"id": "10020526-1-unlimited_plan_id",
"appId": 10020526,
"appPlanId": "unlimited_plan_id",
"versionId": 1,
"versionState": "live",
"name": "Unlimited",
"description": "An enterprise plan for Unlimited use",
"extraData": {
"bullets": [
"Unlimited restrictions per month",
"Unlimited columns",
"Unlimited Boards"
],
"monthlyFee": 49,
"yearlyFee": 36,
"maxSeats": null
},
"isTrial": false,
"isRecommended": true,
"isFree": false,
"currency": "USD",
"prices": {
"type": "standard",
"monthly": 49,
"yearly": 36
}
},
{
"id": "10020526-2-max_seats_100_plan_id",
"appId": 10020526,
"appPlanId": "max_seats_100_plan_id",
"versionId": 2,
"versionState": "live",
"name": "Up to 100 Seats",
"description": "Full use of this app for up to 100 team members",
"extraData": {
"bullets": [
"Unlimited restrictions",
"Access to all integration recipes",
"Manage your boards, groups, and columns in one place"
],
"monthlyFee": 49,
"yearlyFee": 36,
"maxSeats": 100
},
"isTrial": false,
"isRecommended": false,
"isFree": false,
"currency": "USD",
"prices": {
"type": "seat_based",
"monthly": 49,
"yearly": 36,
"maxSeats": 100
}
},
{
"id": "10020526-2-max_seats_200_plan_id",
"appId": 10020526,
"appPlanId": "max_seats_200_plan_id",
"versionId": 2,
"versionState": "live",
"name": "Up to 200 Seats",
"description": "Full use of this app for up to 200 team members",
"extraData": {
"bullets": [
"Unlimited restrictions",
"Access to all integration recipes",
"Manage your boards, groups, and columns in one place"
],
"monthlyFee": 74,
"yearlyFee": 54,
"maxSeats": 200
},
"isTrial": false,
"isRecommended": false,
"isFree": false,
"currency": "USD",
"prices": {
"type": "seat_based",
"monthly": 74,
"yearly": 54,
"maxSeats": 200
}
},
{
"id": "10020526-2-max_seats_500_plan_id",
"appId": 10020526,
"appPlanId": "max_seats_500_plan_id",
"versionId": 2,
"versionState": "live",
"name": "Up to 500 Seats",
"description": "Full use of this app for up to 500 team members",
"extraData": {
"bullets": [
"Unlimited restrictions",
"Access to all integration recipes",
"Manage your boards, groups, and columns in one place"
],
"monthlyFee": 148,
"yearlyFee": 108,
"maxSeats": 500
},
"isTrial": false,
"isRecommended": false,
"isFree": false,
"currency": "USD",
"prices": {
"type": "seat_based",
"monthly": 148,
"yearly": 108,
"maxSeats": 500
}
},
{
"id": "10020526-2-max_seats_800_plan_id",
"appId": 10020526,
"appPlanId": "max_seats_800_plan_id",
"versionId": 2,
"versionState": "live",
"name": "Up to 800 Seats",
"description": "Full use of this app for up to 800 team members",
"extraData": {
"bullets": [
"Unlimited restrictions",
"Access to all integration recipes",
"Manage your boards, groups, and columns in one place"
],
"monthlyFee": 266,
"yearlyFee": 194,
"maxSeats": 800
},
"isTrial": false,
"isRecommended": false,
"isFree": false,
"currency": "USD",
"prices": {
"type": "seat_based",
"monthly": 266,
"yearly": 194,
"maxSeats": 800
}
},
{
"id": "10020526-2-unlimited_seats_plan_id",
"appId": 10020526,
"appPlanId": "unlimited_seats_plan_id",
"versionId": 2,
"versionState": "live",
"name": "Unlimited Seats",
"description": "Full use of this app for unlimited team members",
"extraData": {
"bullets": [
"Unlimited restrictions",
"Access to all integration recipes",
"Manage your boards, groups, and columns in one place"
],
"monthlyFee": 443,
"yearlyFee": 324,
"maxSeats": 1000000
},
"isTrial": true,
"isRecommended": false,
"isFree": false,
"currency": "USD",
"prices": {
"type": "seat_based",
"monthly": 443,
"yearly": 324,
"maxSeats": 1000000
}
}
],
"featured_for_categories_ids": [],
"pinned_for_categories_ids": [
10000011
],
"pricing_model": null,
"app_type": "app",
"display": null,
"is_connector": null,
"google_analytics_tag_id": null,
"app_live_version": {
"updated_at": "2024-08-21T08:40:56Z",
"id": 10278637
},
"is_solution": null,
"available_for_tiers": null,
"available_for_products": null
}