Help

Is it possible to KEEP SOMEONE OUT of an Airtable base?

Topic Labels: Collaboration
Solved
Jump to Solution
7304 30
cancel
Showing results for 
Search instead for 
Did you mean: 

Earlier today I responded to a question from a new user here, explaining how she could hide a field on a locked view and keep the field hidden from non-creator users by making it visible only on a personal view configured by the creator. I then had to add that this is security theater (I think that’s the phrase we use these days) because in truth, any user with editor or commenter privileges can simply duplicate the locked view as a new personal view, which they can then configure to their heart’s content–including making visible the fields that the base creator wanted hidden.

After posting my response, I began to feel uneasy, so I looked into this a little more deeply than I have before, and I’m a bit disappointed by what I’ve found. I’m praying someone here tells me that I didn’t look deep enough–that there are better answers to my concerns. But at the moment it appears that base creators have only a very limited, casual sort of control over who gets into their bases.

.

Nightmares

Consider this scenario. I develop a base for a law firm. I’m the creator, my contact at the law firm is the Owner, and the half dozen users in the firm are editors, because, well, because they need to be able to edit the data in the base. And let’s say that the base contains info that the law firm regards as sensitive: perhaps info about their clients, or data for a lawsuit they are working on; etc.

Now, one of the employees at the law firm is let go. Naturally, the firm’s manager (the base Owner) emails me and I remove that person’s sharing privileges. But the person calls somebody still working at the office and that person (whether maliciously or stupidly) shares the base with the ex-employee. The ex-employee is back in, thanks to a decision by somebody who perhaps should not have the authority to make that decision.

Or somebody on the other side of the lawsuit sweet talks one of the firm’s employees and they agree (again, doesn’t matter whether this is malice or mistake) to share the base with somebody who shouldn’t be allowed to view what’s in the base at all. And if these security breaches are committed by somebody with editor privileges, the person who should not have access but now does will actually be able to do things like edit records, delete records, etc.

I use the example of a law firm because most of my development work has been for law firms. But I don’t think I’ve ever developed a base for any client where the client didn’t care about controlling access.

And what if the security breach is committed by somebody with only read-only privileges? Well, even somebody with read-only privileges has the ability to share the base. Okay, fine, maybe I’m willing to live with that. The problem is, if I’m not happy about that, even as base creator there’s not a thing I can do about it.

Wow, just wow.

.

Living in the real world

Now systems like FileMaker, AppMaker, Caspio, Servoy and nearly all SQL app front ends, give developers the ability to restrict access to the databases to specific users and only those users. (I don’t understand the security models for Coda or SmartSheet well enough to comment on them.) If developers wish to authorize admin users to control access, too, they can do that. But who gets into the solution is always restricted to somebody who is, in theory at least, a responsible user. With Airtable on the other hand, granting access to the base is the prerogative of any and all users, regardless of their privileges.

Of course, I’m aware that users are always the biggest weakness in any security system. There’s always the chance that an authorized user might share his or her credentials with somebody who’s NOT supposed to have access. But doing so would be hard to do by accident. In those other systems there’s no “Share” button that invites the user to give some stranger access to the base. Since my users all log in using their email addresses, anybody who logs in using somebody else’s email address will be aware that they’re doing something fraudulent (even if they don’t realize how serious it could be). And in at least some of those systems, it’s possible to do various other things to minimize the risk of unauthorized access: require two-factor authentication to an authorized user’s mobile phone or email perhaps; and/or track IP address from which user is connecting and even restrict users on that basis.

.

My three wishes

I know that Airtable is designed to be like the friendly and convenient corner store, not like an Amazon.com distribution center that uses metal detectors and employs armed security guards. I love that about Airtable.

Still, at a minimum, I wish that any (or all) of the following were possible:

  • Creator should have option to hide the share button for all non-creator users
  • If creators aren’t given ability to decide who can share/not share the base, then read-only users absolutely should NOT have this ability. When I think “read only” I don’t think “read and make a copy for all your friends”.
  • Finally, there should be a privileges level just below Editors called perhaps “End Users”. End Users should be allowed to edit data in records but NOT edit locked views, that is, for End Users, the “create private view” button would disappear.

I gather that some greater degree of control MIGHT be achievable if I gave access to bases strictly on a view-by-view basis using links that are embedded in a web page, but for me, that dramatically limits Airtable’s appeal and potential usefulness.

Somebody is going to read this and think, “My my, he’s not a very trusting person!” Guilty as charged, your honor.

Please tell me what I’m missing!

William

30 Replies 30

This is what I have said and proved by testing myself, repeatedly. I did it again last night and explained my results.

For what it’s worth here, I’m intrigued by @kuovonne’s discovery that users can copy the base, too. To me, this means the problems are worse than I originally realized.

I am (still) seriously contemplating building Airtable bases for my clients. My clients (mostly law firms) have employees who need to be able to edit data in the bases. As developer, I need to know that no one can access the base that has not been given that access directly by me. At the present time, in an Airtable Pro account, I cannot know that. It’s that simple.

William

Agree - it’s a matter of interpretation. This is Airtable’s design and approach to sharing and likely hinges on the ability to grow their customer base. With pervasive sharing, wider adoption will occur.

Google’s model cuts off sharing to anyone with read-only rights, a more mature model in many respects (as we have all agreed).

Again, this is subject to interpretation and I thought I covered this distinction in great detail earlier. This is no surprise to me.

What’s driving this Read-Only->Copy Base capability?

Imagine you had a collection of bases that perform different tasks and the base data was established and maintained by IT. Now imagine IT wants to make these template bases available to lots of department heads. How would you do that in a way that would prevent the base data in the templates from being exposed to unintended modifications?

I suspect this use case is precisely why Airtable has chosen to make copying of read-only bases both possible and effortless.

You might want to look into the Enterprise admin panel. It looks like it provides the ability to limit collaborator invitations by domain.

If you want to do further tests (and have the budget), you could try testing the ability to limit sharing by password and domain. This feature is available to Pro and Enterprise accounts. As far as I can tell, it is mostly directed to read-only sharing without the user logging it. However, it might apply to sharing with collaborators who have to log in. I do not have the budget to test this.

Thanks for mentioning the enterprise admin panel. I hadn’t seen that and have never investigated the enterprise account. Will try to find time to do so in the coming week. I am working in Pro account and have started all my tests in my pro account (then sharing to free accounts I have at different email addresses). So the weaknesses that I have described are there in the pro accounts as well as free accounts.

But I’m an independent developer. My clients (mostly but not exclusively law firms) have between five and almost 100 users. But they all have the same security needs. Will have to figure out if there’s a way to make an enterprise account work for my needs. One of Airtable’s major advantages for my clients is that there’s a free account level for occasional users, of which I have many.

I’m hoping that Airtable will very soon release an upgrade that has sharing restrictions similar to those found in Google Sheets or Coda.

Thanks,

William

Airtable pricing is based on the number of billable collaborators in a workspace. Every user who can at least comment on a base is a billable collaborator, even if they are only occasional users.

If you have a hundred occasional users who need more than read-only access, Airtable might be more expensive than you expect. You might be able to reduce costs by manually adding and removing collaborators as needed so that the occasional users do not overlap. However, it might be time for you to talk to Airtable directly with your specific use case so that you can get more accurate information about enterprise permissions and pricing.

It sounds increasingly like you need Stacker.

I do agree that this sharing issue is a gigantic security concern.

Creators should be the only ones who are allowed to share the table with other users OR duplicate the table. Period.

If the creator wants other people to be able to share or duplicate the table, then they should EXPLICITLY be able to turn on those privileges for specific users.

Additionally, if another user shares or duplicates the database, the creator should be informed of it via email.

Otherwise, as it stands now, you have a potential security nightmare.

Has anyone submitted this as a product suggestion to Airtable in the production suggestion forum?

I’m actually shocked that Airtable hasn’t implemented security like this yet.

I just submitted this as a product suggestion here:

Jordan_Scott1
Airtable Alumni (Retired)

Hi all! Wanted to follow up and close the loop on this thread. I’m excited to share that Airtable now supports workspace sharing restrictions so that Enterprise admins and workspace owners and Pro workspace owners can restrict the addition of new collaborators to specific workspaces or bases. Enterprise admins and workspace owners can also toggle a setting to prevent future share link creation on a given workspace. Thank you so much for the transparent feedback on this topic, we really appreciate it!

Am I right in understanding that this just happened? Wow.

THIS IS HUGE.

What’s changed

So now, as of September 17, 2021:

  1. I create a new base in my Airtable Pro workspace. I’m a consulting developer.
  2. I go to Settings for that workplace and enable “Restrict adding new collaborators…”
  3. I go back to my workspace and either share the entire workspace or share an individual base with one or more of my clients as, say, editors.

Say I share the base with Clara Client, giving her editing privileges. She accepts the link, creates her login credentials, and she’s in. Now, if she wants to share the database with Cathy Colleague and give Cathy commenter privileges, she can use the Share button, but only to make a request. Threw me off for a sec that the Share button was still there in the Editor’s base, until I clicked it and saw the advisory note that explains that she can only make a request. The request is sent to me (base owner) for approval.

And if at some point, it’s necessary to remove someone’s access: I just delete them from the list of collaborators. I did this while I was connected to the base myself as my Alter Ego. The base was immediately closed on me. Excellent!

When the request comes to me as owner, I can

  • accept the request, giving the new user the privileges requested
  • accept the request but modify the new user’s privileges
  • deny the request
  • ignore the request (officially, by clicking “Ignore”)

If I approve the request, then Cathy Colleague is now invited to the base with Commenter privileges. This is awesome. Excellent. Very well done. Huge.

image

.

Cascading levels of access control?

Something else that’s absolutely awesome: After Clara Client’s request is accepted by me, Clara herself now has control over whether her own invitees retain their access. So say, Clara (with a little help from me) has got Cathy Colleague and Ellen Employee using the base, and then Ellen leaves the firm. Clara does not have to contact me to get Ellen’s access removed: She can do it herself.

I only tested this a couple hops away from myself as creator. I’m not entirely sure how it works if I share the base with Clara (boss of the billing department) and also with Kevin (office manager). If Kevin is also making sharing requests and I grant those requests, can Kevin see and remove Clara’s invitees or only his own? I’m assuming the latter but I didn’t test it out that far.

Have to say: This sort of thing is not impossible in FileMaker, but would be significantly more difficult to setup.

.

One more thing: Locking views

Actually, before I take the actions described above, I will almost certainly be going through the base’s views, and locking all the developer views that I do not want anybody to muck about with. I tested that too and it works great. I had shared base with my Alter Ego, giving Alter editor privileges. Alter was able to get into the base, and edit records including in locked views, but could not modify the locked views. Exactly as expected and as needed.

.

Counting teeth?

Okay, it’s not quite perfect, yet. For one thing it would be nice if we could create custom privilege sets, where (say) Billing Department users with Editor privileges only get to see views that pertain to Billing, while folks in the Fulfillment center only see views granted to their custom privilege set. But hey, I’m so grateful for what we just got that I’m going to promise not to mention this again for at least a week or two.

Seriously, this is huge. Major. THANK YOU AIRTABLE DEVELOPERS!

William