{"id":29572705,"url":"https://github.com/accelbyte/accelbyte-gdpr-java-sdk","last_synced_at":"2025-07-19T05:10:57.414Z","repository":{"id":188188037,"uuid":"676827089","full_name":"AccelByte/accelbyte-gdpr-java-sdk","owner":"AccelByte","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-17T12:03:31.000Z","size":65,"stargazers_count":0,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-04-17T13:28:46.941Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AccelByte.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-08-10T05:25:58.000Z","updated_at":"2024-04-17T13:28:48.098Z","dependencies_parsed_at":"2023-08-14T07:27:00.243Z","dependency_job_id":"fe467288-a297-4d58-85c5-41b6b4765068","html_url":"https://github.com/AccelByte/accelbyte-gdpr-java-sdk","commit_stats":null,"previous_names":["accelbyte/accelbyte-gdpr-java-sdk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AccelByte/accelbyte-gdpr-java-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccelByte%2Faccelbyte-gdpr-java-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccelByte%2Faccelbyte-gdpr-java-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccelByte%2Faccelbyte-gdpr-java-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccelByte%2Faccelbyte-gdpr-java-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AccelByte","download_url":"https://codeload.github.com/AccelByte/accelbyte-gdpr-java-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccelByte%2Faccelbyte-gdpr-java-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265892516,"owners_count":23845034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-19T05:10:56.801Z","updated_at":"2025-07-19T05:10:57.409Z","avatar_url":"https://github.com/AccelByte.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AccelByte GDPR Java SDK\n\nGDPR SDK for integrating Java services with AGS (AccelByte Gaming Services) GDPR service.\n\nThis GDPR SDK could be used by participant services to integrate into AGS GDPR workflow.\nThere are 3 GDPR workflow that this GDPR SDK supported:\n1. Right to data portability\n2. Right to erasure (right to be forgotten)\n3. Right to restrict processing\n\nThe participant services will hook their _**concrete GDPRHandler implementation**_ (that contains 3 functionalities above) into this GDPR SDK.\n\nUnder the hood, this GDPR SDK was using gRPC protocol for communication with AGS GDPR service:\n\n```\n+---------------+              +-------------------+\n|     AGS       |     gRPC     | Your Java Service |\n| GDPR Service -+-------------\u003e|   (gRPC Server)   |\n| (gRPC Client) |              |                   |\n+---------------+              +-------------------+\n```\n\n## Requirements\n\nMinimum Java version: Java 1.8\n\n## Setup\n\n### Gradle\n```shell\ndependencies {\n  implementation \"net.accelbyte.sdk:gdpr-sdk:1.0.0\"\n}\n```\n\n### Maven\n```shell\n\u003cdependency\u003e\n  \u003cgroupId\u003enet.accelbyte.sdk\u003c/groupId\u003e\n  \u003cartifactId\u003egdpr-sdk\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n[GDPR SDK jar downloads](https://search.maven.org/artifact/net.accelbyte.sdk/gdpr-sdk/1.0.0/jar) are available from Maven Central.\n\n## Usage\n\n### Create Concrete Implementation of [GDPRHandler](src/main/java/net/accelbyte/gdpr/sdk/GDPRHandler.java) interface\n\nCreate new class to implement [GDPRHandler](src/main/java/net/accelbyte/gdpr/sdk/GDPRHandler.java) interface:\n```java\npublic class MyGDPRHandler implements GDPRHandler {\n    @Override\n    public DataGenerationResult ProcessDataGeneration(String namespace, String userId, boolean isPublisherNamespace) {\n        log.info(\"collecting user data...\");\n\n        // your implementation here...\n        \n        // example result\n        DataGenerationResult result = new DataGenerationResult();\n        result.setData(\"module1\", \"{\\\"data\\\":\\\"lorem ipsum dolor sit amet\\\"}\".getBytes());\n        result.setData(\"module2\", \"{\\\"key1\\\":\\\"lorem ipsum\\\",\\\"key2\\\":\\\"dolor sit amet\\\"}\".getBytes());\n        return result;\n    }\n\n    @Override\n    public void ProcessDataDeletion(String namespace, String userId, boolean isPublisherNamespace) {\n        log.info(\"deleting user data...\");\n        \n        // your implementation here...\n    }\n    \n    @Override\n    public void ProcessDataRestriction(String namespace, String userId, boolean restrict, boolean isPublisherNamespace) {\n        log.info(\"restrict processing user data...\");\n\n        // your implementation here...\n    }\n}\n```\n\n### Initialize gRPC Server with [GDPRService](src/main/java/net/accelbyte/gdpr/sdk/GDPRService.java) class\n\nIn your main implementation, hook your Concrete Implementation of [GDPRHandler](src/main/java/net/accelbyte/gdpr/sdk/GDPRHandler.java) into [GDPRService](src/main/java/net/accelbyte/gdpr/sdk/GDPRService.java) class:\n```java\nGDPRHandler myGDPRHandler = new MyGDPRHandler();\nGDPRService.SetHandler(myGDPRHandler);\n```\n\nStart gRPC Server with [GDPRService](src/main/java/net/accelbyte/gdpr/sdk/GDPRService.java) class:\n```java\nServer server = ServerBuilder\n        .forPort(8081)\n        .addService(new GDPRService()).build();\nserver.start();\nserver.awaitTermination();\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccelbyte%2Faccelbyte-gdpr-java-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faccelbyte%2Faccelbyte-gdpr-java-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccelbyte%2Faccelbyte-gdpr-java-sdk/lists"}