see multiplayer auth headers: steam_gameserver.h, ISteamGameServer.h, ISteamUser.h
Integration work with the VAC Steamworks C++ API is simple, because the heavy-lifting is left to Steam. An advantage is that cheat detection is not handled directly by your game client. The only thing your game needs to do is use the API to find out whether or not a given user is VAC banned.
VAC is a component of Steamworks and the Steam client, and works by scanning the users system for cheats while your game is running. It works a lot like a virus scanner, and has a database of known cheats to detect.
If Runic is reading this. VAC support could be included when running private (dedicated) servers. 8-)