Here is some more info that I have come across:
-- Proteins in themselves are not bad. It all depends on your hair type. If you have fine hair then you will do well with protein. If you have coarse hair then you should avoid proteins. If you have damaged hair, then protein can help to repair the damage. If your wet hair is extremely stretchy and elastic then you need protein. If your hair is strawlike, brittle and breaks for no reason then you need to avoid protein. This is the basics on protein.
-- To determine porosity:
1. Your hair soaks up water easily. Your hair dries quickly. Your hair absorbs hair dye quicker than the time indicated on the box. When you run your finger along a strand of hair from end to root, it is bumpy. = porous hair.
Porous hair can use some protein. You also have to figure out a way to keep moisture in your hair because while it absorbs moisture readily, it also loses it quickly. But also if your hair soaks up too much moisture it will be poofy and lack definition. With porous hair you have to be very careful about the amount of humectant products used and pay careful attention to dewpoints. You also have to seal in the moisture you put in. A lot of porous hair curlies do ACV rinses, use hard hold gels or emolients like oils and butters to seal in moisture.
2. Your hair takes a long time to soak up water, long time to dry, takes longer time to dye. When you run your finger up the strand it is silky smooth. = low porosity.
Low porosity hair has too much protein so you want to avoid it. You also have to figure out how to get moisture into your hair by maybe using humectants (in the right dewpoints) or moisturizing products.
3. Anything else is probably normal porosity. You can use about any product your want. But make sure to keep a balance between moisture and protein levels.
--To determine elasticity:
Take a strand of hair. I like to use hair that has pulled out from a comb or brush. wet it and hold at both ends. Pull on it.
1. If it stretches about 30-50% without breaking you have normal elasticity. You can use any product.
2. If it doesn't stretch far before snapping you have poor elasticity. This means your hair has too much protein so avoid products with protein and use products with intense moisture.
3. If it stretches a lot, more than 50%, before breaking, then you have very elastic hair. This means you need more protein. Use products that contain more protein.
Note: since hair can be a blend of porosity, textures, and elasticities that don't actually have similar properties (ie., fine, non-elastic, with high porosity) it requires experimentation to figure out what balance of products will be good for your hair. You can use the above as a guideline on where to begin.