Encrypting unfinalized forms

We will be using ODK to collect sensitive data and are expecting a high
rate of partial or non-completed form submissions. Can ODK be set to
automatically 'finalize' and encrypt these incomplete forms? It is an
important component of our security posture to know that incomplete
submissions will not be accessible to other users who handle the device
later in the day. I understand that users will not be able to re-enter a
submission once they exit it.

Using a combination of settings on the General Settings and Admin Settings
page, you can hide the save-as-incomplete options and force a form to be
marked as finalized when it is saved. This will ensure that every form is
finalized and encrypted if it is saved by the user.

If ODK Collect exits abnormally or if the user backs out of the application
without saving the form, we have no mechanism to wipe or remove that
partially-completed form. The next time ODK Collect starts up, it will ask
the user whether they want to resume the previous "checkpointed" survey or
start a new one. This is for data-preservation in situations where an
unexpected failure occurs.

You could write an Android app that "cleaned" the ODK Collect area of these
"checkpoint" files by deleting all files ending in .save under the
/sdcard/odk/.cache/ directory.

And then require that all users run that cleaning app between the runs of
ODK Collect.

Note that finalizing imposes all constraints on the form. If you use
constraints, this may make it impossible to save a partially-completed
form. You can work around this by having the last question of your form ask
whether constraints should be applied, and give that question a default
value of 'yes', then have all your constraints be wrapped with
"if(${last_q}='yes', constraint-expr, true)" When a survey is prematurely
saved, you might then need to use hierarchy view to jump to the last
question, and select 'no' to disable the constraints.

··· On Mon, Aug 17, 2015 at 9:04 AM, kbk wrote:

We will be using ODK to collect sensitive data and are expecting a high
rate of partial or non-completed form submissions. Can ODK be set to
automatically 'finalize' and encrypt these incomplete forms? It is an
important component of our security posture to know that incomplete
submissions will not be accessible to other users who handle the device
later in the day. I understand that users will not be able to re-enter a
submission once they exit it.

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

But -- you would still need to train people to not hit the "Home" button to
exit ODK Collect. That would still leave the current form open and the next
time ODK Collect is started, it would resume that existing app.

··· On Mon, Aug 17, 2015 at 10:10 AM, Mitch Sundt wrote:

Using a combination of settings on the General Settings and Admin Settings
page, you can hide the save-as-incomplete options and force a form to be
marked as finalized when it is saved. This will ensure that every form is
finalized and encrypted if it is saved by the user.

If ODK Collect exits abnormally or if the user backs out of the
application without saving the form, we have no mechanism to wipe or remove
that partially-completed form. The next time ODK Collect starts up, it will
ask the user whether they want to resume the previous "checkpointed" survey
or start a new one. This is for data-preservation in situations where an
unexpected failure occurs.

You could write an Android app that "cleaned" the ODK Collect area of
these "checkpoint" files by deleting all files ending in .save under the
/sdcard/odk/.cache/ directory.

And then require that all users run that cleaning app between the runs of
ODK Collect.

Note that finalizing imposes all constraints on the form. If you use
constraints, this may make it impossible to save a partially-completed
form. You can work around this by having the last question of your form ask
whether constraints should be applied, and give that question a default
value of 'yes', then have all your constraints be wrapped with
"if(${last_q}='yes', constraint-expr, true)" When a survey is prematurely
saved, you might then need to use hierarchy view to jump to the last
question, and select 'no' to disable the constraints.

On Mon, Aug 17, 2015 at 9:04 AM, kbk kkwaiser@umich.edu wrote:

We will be using ODK to collect sensitive data and are expecting a high
rate of partial or non-completed form submissions. Can ODK be set to
automatically 'finalize' and encrypt these incomplete forms? It is an
important component of our security posture to know that incomplete
submissions will not be accessible to other users who handle the device
later in the day. I understand that users will not be able to re-enter a
submission once they exit it.

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com