How to verify client animations?

I’m making a client sided combat system where it plays animations and creates a hitbox then sends hitbox data to the server, how can I make sure the client is playing the correct animations and the user isn’t changing them?

No point in doing that, really. The animation is just VFX. Focus on validating the collision claims for the type of attack

what if my combat involves being able to read player’s animations?

It shouldn’t. If it’s really important to know what specific animation a character is doing (as opposed to general states like stunned, dead, or using an attack), you should have a remote event fired when the client begins a skill and have a value on the server correspond to the animation currently playing.

If you don’t mind sharing, why does your combat system rely on the current animations playing?

I was considering going a parry/dodge system for my game which would require being able to tell the animations of other players for it to function well during pvp interactions, I fired a remote event everytime a attack/skill starts and the server checks if its a valid animation using :GetPlayingAnimationTracks() but I have no idea how exploitable it can be

That’s sort of a backwards way of doing things. You could just set a value somewhere that declares if the player is blocking, parrying, or dodging, and change it whenever a player begins one of those moves.