Thanks for the thought you put into it, but it would still mean that I give eg clamd access to my keys (in a truly paranoid way I could argue that they might be added into the transaction as eg comments). Ideally, Clam would allow me to export an unsigned transaction which I can sign for example with Electrum or signrawtransaction, save and re-import in Clam to broadcast. I'm looking for a method where I don't need to give Clam any access to any private key.
I understand your point in this, but like I quoted before the key point in this is
If I understand correctly, to claim CLAMS I only need to provide a signed message from the respective BTC or DOGE address. Is that correct?
Nearly, but not quite. You need to provide a
signature, but of a transaction, not a message. This is the same that Bitcoin uses - when you want to spend your Bitcoins your wallet makes a transaction and signs it using your Bitcoin private key.
The point you may be missing is that
the private key for your free CLAMs *is* your BTC private key. The private keys are the same, and the addresses only look different because of the 'version byte' (the thing which makes BTC addresses start with a '1' while CLAM addresses start with an 'x').
I don't know if you're familiar with how the "version byte" can change the first letter of a given altcoin, it's mostly shown in things like vanitygen for altcoins address generation.
In theory i guess that if it is the same Private Key as for example your BTC address, but the 'version byte' is the only thing that is different, the process to generate a signature for a transaction must be the same, the only change should be the 'version byte' that way if you have programming knowledge you could in theory be able to modify or create a program to make it able to sign your Clam transaction and that way you know that the signature generated doesn't contain any external data that could help "someone" to guess or obtain your Private Key, that in theory will allow you to sign your clam unsigned transaction with for example a modded 'version byte' sign transaction command added to your Electrum btc wallet.
But you may noticed that I mentioned a lot the in "Theory" here, this is because Clam doesn't have a typical 'version byte' at least for the case of vanitygen, the way that is used for that program for obtain the 'version byte' of a give altcoin for example Dogecoin is not the same as for Clam, even Dooglus needed to do make a custom version of vanitygen just to generate the addresses correctly, I don't know if it that is a minor tweak to the code make it work properly, but at least you need to know that changing the 'version byte' may not be enough to modify or create your own clam transaction signature generator.
Getting back in reality, maybe you won't be able to claim your Clams because the coin was designed, to claim ownership of your Clams with signed transaction, I doubt that a signed message will do it. Of course only a programmer that know about how the signing process goes can tell what is right or wrong in all my blah blah blah.