If you use the ports collection for sources to build from, then, instead of the HEAD or main branch of the ports tree, you can use a quarterly branch (see:
FreeBSD Handbook - ports quarterly branch):
Code:
# git clone https://git.FreeBSD.org/ports.git -b 2020Q3 /usr/ports
Just like the use of the quarterly repository for packages (these are built from the relevant quarterly branch), the most recent quarterly branch in the ports source tree only receives security and stability updates during a running quarter.
If you're using the HEAD branch of the ports collection (equivalent to "latest" with packages) you cannot differentiate between general updates and security updates. Perhaps by looking at the source control log messages you could get an idea if it only relates to security updates but that would amount to a substantial amount of probing I should imagine. Even then: what do you do when there are security related updates mixed in with non-security related issues because, those are not treated any differently when updates are added to the source tree; let alone from (manually) checking dependencies.
Especially with the use of the main branch of the ports collection and when you're using a (poudriere) build server, it would be an option to build a set of packages from the ports collection source at a certain moment in time for testing purposes. If, after testing, this particular set of built packages is satisfactory, you'd make this available to your client servers.