This series of posts is meant to introduce Exciton Boost and provide some comparisons with Domino Access Services. Today, I'm going to talk about the biggest barrier customers report with Domino Access Services: security and integrity.
Domino Access Services has a very open (some would say insecure) approach to access. A database must be enabled, which is good. Domino security is respected, at least mostly. There are some security holes with anonymous use, but if you are allowing anonymous access to your database, you probably aren't too worried about security.
But there are some serious access control issues which prevent companies from using Domino Access Services. Among them:
1) Wide open discovery of databases. Using the endpoint http://example.com/api/data gives you a complete list of every database on the server, including its title, filename, and what template it is based on. Even if you have hundreds of dbs and only one is accessible, they are all included. While obscurity is not security, there is no reason to invite outsiders to view all of this. What if you have client databases by directory, a fairly common approach. Now, for no good reason, your client list is available to a casual browser.
Exciton Boost only displays databases that are a) available for Exciton Boost, and b) marked as discoverable in the Exciton configuration database.
2) Open discovery of views inside a database. Using the endpoint http://example.com/MyDb.nsf/api/data/collections gives you a complete list of every view and folder, private or public, in the database. Even if the database is only open to Domino Access Services to post anonymous public documents, every view and folder is revealed.
Exciton Boost only displays views that are explicitly available for Exciton Boost. Everything else is private, as it should be.
3) No control over forms created. With Domino Access Services, you can create documents with no form name or with any form name, including invalid names or hidden forms that are not meant to be created by users.
Exciton Boost only allows forms to be created that are explicitly available for Exciton Boost. You maintain complete control.
4) Little control over items created. With Domino Access Services, you can create almost any item you like so long as it does not start with a dollar sign. Invalid item names, items meant to be different types, etc. are all open for creating and updating. This invites both mischief and mistakes.
Exciton Boost allows as much or little control over the fields to be created based on the form. You can leave it wide open, partly open, or locked down.
5) Form validation is left in client control. With Domino Access Services, the caller can choose to compute-with-form or not. If it is not chosen, none of the field validation or translation formulas are run, and computed fields are not computed. This may leave the document in an unstable or non-viable state.
Exciton Boost allows the form to be marked as Always compute-with-form if desired. You can be sure the fields are in their correct state without the client app being able to disable the setting.
Access levels are also set at the database, form, and view level that control creating, updating, and deleting documents. These never override Domino security, they simply augment it so that you have control over what mobile apps can do. The database form is shown below as an example. This is from the Exciton Configuration database which control access through both Exciton Boost and Exciton Power.
While one would hope that there aren't really barbarians at the gate, Exciton Boost ensures that you have control over what the barbarians can do once you invite them in.
Copyright © 2020 Genii Software Ltd.
Tags: Exciton Exciton Boost Security HCL Domino REST API