# Column based permissions

**URL:** <https://forums.knack.com/t/column-based-permissions/14515>\
**Category:** Feature Requests\
**Created:** [June 26, 2023, 9:21am UTC](https://forums.knack.com/t/column-based-permissions/14515 "2023-06-26T09:21:53Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Amaan](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Amaan](https://forums.knack.com/u/Amaan)\
**Post date:** [June 26, 2023, 9:21am UTC](https://forums.knack.com/t/column-based-permissions/14515/1 "2023-06-26T09:21:53Z")

</div>

It would be great to have column based permissions available, currently you have to create another version of the view to separate permissions. Which becomes a nightmare when trying to maintain.

It would be great to be able to set permissions to view or edit on each column similar to something like monday/pulse has on theirs

---

<div class="post-metadata">

**Author:** ![CarlHolmes](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/carlholmes/32/2814_2.png) [@CarlHolmes](https://forums.knack.com/u/CarlHolmes)\
**Post date:** [June 26, 2023, 5:30pm UTC](https://forums.knack.com/t/column-based-permissions/14515/2 "2023-06-26T17:30:48Z")

</div>

Agreed, this would make things easier rather than having to duplicate a table and then hide it based on a user role. @Kara - one for the list 😀

---

<div class="post-metadata">

**Author:** ![Andrew\_Matsen](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/andrew_matsen/32/2437_2.png) [@Andrew\_Matsen](https://forums.knack.com/u/Andrew_Matsen)\
**Post date:** [June 29, 2023, 1:28am UTC](https://forums.knack.com/t/column-based-permissions/14515/3 "2023-06-29T01:28:25Z")

</div>

I totally agree, would make life a lot easier for me. I have 100+ users on the site with different permissions.

---

<div class="post-metadata">

**Author:** ![NormandDefayette\_CortexRD](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/normanddefayette_cortexrd/32/855_2.png) [@NormandDefayette\_CortexRD](https://forums.knack.com/u/NormandDefayette_CortexRD)\
**Post date:** [June 29, 2023, 4:43am UTC](https://forums.knack.com/t/column-based-permissions/14515/4 "2023-06-29T04:43:03Z")

</div>

Hi guys,

Yes, this is possible. The KTL can do it nicely and easily.

See this page, at the bottom you can see the string highlighted in the view’s description:

`_hc=[Amount, Sale],[ktlRoles,Visitor]`

 ![image](https://us1.discourse-cdn.com/flex020/uploads/knack/original/2X/e/eff470867f7959c825ccfcbcc5f707aee72fdeeb.png)

This means “Hide Columns” (\_hc keyword) **Amount** and **Sale** , but only if the user roles contain **Visitor**. Of course, you can have several roles, and you can also write **!Visitor** to exclude the roles.

If you replace the **\_hc** for **\_rc** , the columns will be **removed** from the DOM instead of just hidden.

Isn’t that great?!

Enjoy,  
Normand

---

<div class="post-metadata">

**Author:** ![Amaan](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Amaan](https://forums.knack.com/u/Amaan)\
**Post date:** [June 29, 2023, 5:06am UTC](https://forums.knack.com/t/column-based-permissions/14515/5 "2023-06-29T05:06:37Z")

</div>

Hi Normand,  
I was checking out KTL looks great however does it allow a field to be read only for one but editable for another? Or would the trick be to add the field twice and show/hide accordingly?

---

<div class="post-metadata">

**Author:** ![NormandDefayette\_CortexRD](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/normanddefayette_cortexrd/32/855_2.png) [@NormandDefayette\_CortexRD](https://forums.knack.com/u/NormandDefayette_CortexRD)\
**Post date:** [June 29, 2023, 5:35am UTC](https://forums.knack.com/t/column-based-permissions/14515/6 "2023-06-29T05:35:39Z")

</div>

Yes, this is possible.

The \_ni keyword supports the ktlRoles option.

This means that you can disable inline editing only for specific roles, or leave it on for all roles except those preceded by an exclamation mark.

Ex: \_ni=[Name, Phone], [ktlRoles,!Owner,!Manager]

This will disable inline editing for every roles, except Owner and Manager.

Norm
