A system utilizing data flow analysis to perform data classification, comprising: a processing system comprising a processor and a memory having computer-executable instructions stored thereupon which, when executed by the processor, cause the processing system to: receive a source dataset storing data in one or more fields, at least one of the fields having one or more tags, each tag having an associated confidence; receive information regarding a derived dataset, the derived dataset having been generated by performing actions on the source dataset using one or more processing operations; perform data flow analysis for each processing operation, wherein a comparison is made between at least a portion of the derived dataset and at least a portion of the source dataset in order to infer the actions performed by the one or more processing operations; for each of the one or more fields having at least one tag: calculate a flow confidence for the particular field using an adaptive algorithm in accordance with the inferred actions performed and the derived dataset; for each tag associated with the particular field, calculate an associated derived confidence for the particular tag in accordance with the associated confidence and the flow confidence; for each tag associated with the particular field: when the associated derived confidence is greater than or equal to a first threshold, copying the particular tag to the derived dataset; when the associated derived confidence is less than the first threshold and greater than the second threshold: identify an action to be taken with respect to the particular tag for the derived dataset; receive a response to the action to be taken with respect to the particular tag for the derived dataset; and modify the adaptive algorithm in accordance with the received response. receive a source dataset storing data in one or more fields, at least one of the fields having one or more tags, each tag having an associated confidence; receive information regarding a derived dataset, the derived dataset having been generated by performing actions on the source dataset using one or more processing operations; perform data flow analysis for each processing operation, wherein a comparison is made between at least a portion of the derived dataset and at least a portion of the source dataset in order to infer the actions performed by the one or more processing operations; for each of the one or more fields having at least one tag: calculate a flow confidence for the particular field using an adaptive algorithm in accordance with the inferred actions performed and the derived dataset; for each tag associated with the particular field, calculate an associated derived confidence for the particular tag in accordance with the associated confidence and the flow confidence; for each tag associated with the particular field: when the associated derived confidence is greater than or equal to a first threshold, copying the particular tag to the derived dataset; when the associated derived confidence is less than the first threshold and greater than the second threshold: identify an action to be taken with respect to the particular tag for the derived dataset; receive a response to the action to be taken with respect to the particular tag for the derived dataset; and modify the adaptive algorithm in accordance with the received response. calculate a flow confidence for the particular field using an adaptive algorithm in accordance with the inferred actions performed and the derived dataset; for each tag associated with the particular field, calculate an associated derived confidence for the particular tag in accordance with the associated confidence and the flow confidence; for each tag associated with the particular field: when the associated derived confidence is greater than or equal to a first threshold, copying the particular tag to the derived dataset; when the associated derived confidence is less than the first threshold and greater than the second threshold: identify an action to be taken with respect to the particular tag for the derived dataset; receive a response to the action to be taken with respect to the particular tag for the derived dataset; and modify the adaptive algorithm in accordance with the received response. when the associated derived confidence is greater than or equal to a first threshold, copying the particular tag to the derived dataset; when the associated derived confidence is less than the first threshold and greater than the second threshold: identify an action to be taken with respect to the particular tag for the derived dataset; receive a response to the action to be taken with respect to the particular tag for the derived dataset; and modify the adaptive algorithm in accordance with the received response. identify an action to be taken with respect to the particular tag for the derived dataset; receive a response to the action to be taken with respect to the particular tag for the derived dataset; and modify the adaptive algorithm in accordance with the received response.