BeyondAuth.RelatedDataValidation 1.4.0

dotnet add package BeyondAuth.RelatedDataValidation --version 1.4.0                
NuGet\Install-Package BeyondAuth.RelatedDataValidation -Version 1.4.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BeyondAuth.RelatedDataValidation" Version="1.4.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BeyondAuth.RelatedDataValidation --version 1.4.0                
#r "nuget: BeyondAuth.RelatedDataValidation, 1.4.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BeyondAuth.RelatedDataValidation as a Cake Addin
#addin nuget:?package=BeyondAuth.RelatedDataValidation&version=1.4.0

// Install BeyondAuth.RelatedDataValidation as a Cake Tool
#tool nuget:?package=BeyondAuth.RelatedDataValidation&version=1.4.0                

This is meant to solve problems around protecting data linked by indirect relationships.

Prevent accidentally delivering a derived file to the wrong client

Let's say we have several systems involved in the ingesting, processing and delivery of work based on a file (or resource) provided to you by Client A, and part of this involves some steps in the workflow that are performed by separate systems which don't necessarily directly pass data among themselves.

Example scenario

  • File1 is submitted by the client BankOne to System A
  • System A computes a SHA-256 hash of the file's contents and sends the hash and client name to the Related Data Authorization component
  • Alice goes into System A and downloads the file and uploads it to internal processing System B
  • System B generates derivative file File2
  • System B computes SHA-256 hashed of the both the input and output files at any step that generates a file, and sends the new file's hash and any potentially useful additional information to the Related Data Authorization component, with the input file's hash in the 'rel' property
  • Susan downloads File2 and tries to upload it in System A and deliver it to client FintechX
  • System A computes a SHA-256 hash of the uploaded file and submits it to the Related Data Authorization component along with the client's name
  • Validation rule fails and accidental delivery is prevented

Register services

services.AddSingleton<IAuthorizationHandler, RelatedDataAuthorizationHandler>();
services.AddSingleton<IRelatedDataAuthorizationService, RelatedDataAuthorizationService>();

Execute index

new Index_RelatedDataAgg().Execute(_store);

Usage

Todo

What should happen if ClientB uploads the same file as ClientA completely independent of each other

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.4.0 84 9/24/2024
1.3.0 116 9/17/2024
1.2.7 78 8/8/2024
1.2.6 93 8/6/2024
1.2.5 80 8/5/2024
1.2.4 67 7/30/2024
1.2.3 74 7/24/2024
1.2.2 82 7/23/2024
1.2.1 90 7/22/2024
1.2.0 90 7/18/2024
1.1.11 75 7/15/2024
1.1.10 88 7/14/2024
1.1.9 90 7/14/2024
1.1.8 90 7/14/2024
1.1.7 67 7/14/2024
1.1.6 80 7/14/2024
1.1.5 81 7/13/2024
1.1.4 81 7/13/2024
1.1.3 88 7/13/2024
1.1.2 73 7/13/2024
1.1.1 81 7/13/2024
1.1.0 66 7/12/2024
1.0.12 80 7/11/2024
1.0.11 64 7/11/2024
1.0.10 91 7/10/2024
1.0.9 102 6/13/2024
1.0.8 99 6/13/2024
1.0.7 98 6/13/2024