It's a parameter used within SecKeyGeneratePair
when generating keys.
From the Certificate, Key, and Trust Services Reference
kSecAttrIsPermanent
— If this key is present and has a Boolean value of true, the key or key pair is added to the default keychain.
In this context, if you provide this parameter and it is false, then you'll receive the keys in memory, but it won't be persisted to the keychain (on disk). It'll last for however long you keep a hold of it whilst the application is still running, unless you persist it yourself afterwards.