Hidden fields

Some hidden fields are added automatically, e.g. a CSRF-Token.
You can add more hidden fields like this:

$form->addField('referrer', 'hidden')->setValue('android');

In case you do not know the value yet, just add the field and assign the value later on:

// Add field before html headers are sent
$form->addField('referrer', 'hidden');

/*
 A lot of your code ...
*/

// Assign the field value. This could happen just before the field is rendered
$form->getField('referrer')->setValue('any value');