Form handling not compatible with CCK field permissions?

I have a simple case where I want to disable access to a field with the CCK content field permissions module. The normal behavior, without ctools installed, seems to go like this:

1. hook_field_access returns false for a field of my choosing
2. The form renders without the field, because the field permissions module has set #access = false, which then causes #type = value, which makes it so that the field is stored internally-only, rather than as a text box or a hidden formfield.
3. Some Drupal form mechanism that I don't fully understand allows the form to pass validation even though the field was not necessarily provided by the user.
4. Save, and everything is fine.

When ctools is installed, it results in this chain of events:

ctools_build_form gets called, then ctools_process_form, then ctools_validate_form. The last function calls _form_validate(), which seems to all be happening too early in the process, because calling _form_validate() at that point results in a "XYZ field is required." message.

In general this is confusing and hard to deal with because:

1. I'm have no handlers specified for node/edit, which I understand to be a default "Page" implemented by CTools. So why is it doing even a single thing to the normal flow of form execution?

Back to top