BccCode.Privacy.Client
0.0.6
See the version list below for details.
dotnet add package BccCode.Privacy.Client --version 0.0.6
NuGet\Install-Package BccCode.Privacy.Client -Version 0.0.6
<PackageReference Include="BccCode.Privacy.Client" Version="0.0.6" />
<PackageVersion Include="BccCode.Privacy.Client" Version="0.0.6" />
<PackageReference Include="BccCode.Privacy.Client" />
paket add BccCode.Privacy.Client --version 0.0.6
#r "nuget: BccCode.Privacy.Client, 0.0.6"
#:package BccCode.Privacy.Client@0.0.6
#addin nuget:?package=BccCode.Privacy.Client&version=0.0.6
#tool nuget:?package=BccCode.Privacy.Client&version=0.0.6
BCC Privacy Client (.NET)
Machine-to-machine client for the BCC Privacy API, built on BCC Platform like the Core API and Notifications clients.
Install
dotnet add package BccCode.Privacy.Client
Register
The installer follows bcc-platform-sdks' pattern (docs/dotnet/openapi-sdk-installer.md), like the Core API client: the credential overloads configure the platform with AddBccPlatform, and every request carries the platform's cached, auto-refreshing token.
With an environment and the client credentials (one call):
services.AddBccPrivacyClient(AppEnvironment.Prod, "client-id", "client-secret");
With the BCC platform already configured, for example because the service uses several BCC SDKs:
services.AddBccPlatform(AppEnvironment.Prod); // credentials from the BccAuth section
services.AddBccPrivacyClient();
AddBccPrivacyClient(environment), AddBccPrivacyClient(environment, oAuthOptions) and AddBccPrivacyClient(environment, authConfig) mirror the other AddBccPlatform overloads.
The token is requested for the platform's M2M audience (api.bcc.no, sandbox-api.bcc.no in sandbox), the same one the Core API uses, with the scope privacy.catalogue#read.
| Environment | Privacy API |
|---|---|
Prod |
https://privacy.bcc.no |
Sandbox |
https://privacy.sandbox.bcc.no |
Emulator |
BccPlatform:ServiceUrls:privacy, else {BccPlatform:BaseUrl}/privacy |
For any other host, pass its base URL: services.AddBccPrivacyClient("https://localhost:13000"), with the platform configured.
Use
var personalData = await privacyClient.GetPersonalDataAsync();
var processes = await privacyClient.GetProcessesAsync();
GetPersonalDataAsync returns every personal-data item (names in each language, classification and scopes), including items no process uses yet.
GetProcessesAsync returns every active process (controller, purposes in each language, legal basis, validity) with the personal-data items it uses.
| Method | Scope |
|---|---|
GetPersonalDataAsync |
privacy.catalogue#read |
GetProcessesAsync |
privacy.catalogue#read |
The client application must be granted the scope on the Core API resource in Auth0.
Failed calls throw PrivacyApiException with the status code and response body.
Releases
.github/workflows/sdk-dotnet-publish.yml publishes the package to NuGet; the version follows bcc-core-api's SDK workflow.
A merge to main that changes sdk/dotnet publishes <major>.<minor>.<n> once the integration tests pass, where <n> counts the SDK's commits since the last sdk-dotnet-v<major>.<minor>.0 tag (0.0.<n> until the first tag).
A pull request only builds and packs; nothing is published from it.
To publish a beta (<version>-beta.<run>) from a branch, run the workflow by hand on that branch; a required reviewer of the nuget-beta environment approves the run before it publishes.
Tag a commit sdk-dotnet-v<major>.<minor>.0 to start a new minor or major version.
See the .NET SDK section of the integration guide for usage.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- BccCode.Platform.Apis (>= 2.0.0.22)
- BccCode.Platform.Config (>= 2.0.0.22)
- Microsoft.Extensions.Http (>= 10.0.15)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.