Skip to main content

Pose Anonymization

Remove identifying information from sign language poses

Usage

pip install git+https://github.com/sign-language-processing/pose-anonymization

To anonymize a pose sequence:

anonymize_pose --input="example.pose" --output="example_anonymized.pose" [--appearance="specific_signer.pose"]

The --appearance option allows to transfer the pose sequence to a specific signer's appearance. (This is useful for models trained on specific signers.)

In python:

from pose_format import Pose

from pose_anonymization.appearance import remove_appearance

with open("example.pose", "rb") as f:
    pose = Pose.read(f.read())

anonymized_pose = remove_appearance(pose)

Methods

Appearance Based Anonymization (Naive)

Currently implemented in this repository.

Using the mean of sign language poses calculated by sign-language-processing/sign-vq, we can anonymize a pose sequence by assuming the first frame is only the appearance of the person, and remove it from the rest of the frames, then add the mean.

(Example generated using ./scripts/create_example.sh, transferred to assets/example/interpreter.pose)

Sign Original___ Anonymized_ Transferred
Kleine kleine kleine kleine
Kinder kinder kinder kinder
Essen essen essen essen
Pizza pizza pizza pizza

Information Theoretic Perfect Anonymization

This is not yet implemented in this repository.

There exists identifying information in every sign language utterance. From appearance, to prosody, movement pattern, and choice of signs.

Therefore, if we want to remove all identifying information, we need to remove all information. However we can decide on a tradeoff between privacy and utility, and remove all information except for the choice of signs.

Pipeline approach:

This pipeline guarantees anonymization from an information theoretic perspective, as the only information that is preserved is the choice of signs.

Citing this work

@misc{moryossef2024anonymization, 
    title={pose-anonymization: Remove identifying information from sign language poses},
    author={Moryossef, Amit},
    howpublished={\url{https://github.com/sign-language-processing/pose-anonymization}},
    year={2024}
}

Metadata

Release files for pose-anonymization 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pose-anonymization 0.0.1
File Size Uploaded Provenance Actions
pose_anonymization-0.0.1.tar.gz 58.0 kB With provenance Details for pose_anonymization-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pose-anonymization 0.0.1
File Interpreter ABI Platform Actions
pose_anonymization-0.0.1-py3-none-any.whl Python 3 none any Details for pose_anonymization-0.0.1-py3-none-any.whl

Total release size: 115.7 kB

Release files / pose_anonymization-0.0.1.tar.gz

Download URL pose_anonymization-0.0.1.tar.gz
Size 58.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c625fce7563b16803593a63f9b57cf98022982e64a17e3dbd3e93dbe87fff6f4
BLAKE2b-256 checksum
How to use checksums
d11a4dee9c080abcdf63140b78c5356a7502333e48745e70589cfb2e40aad002
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 1, 2026.

Transparency log

Release files / pose_anonymization-0.0.1-py3-none-any.whl

Download URL pose_anonymization-0.0.1-py3-none-any.whl
Size 57.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
18f1a63ba5f981d25aa2e253ecff0a6a3ced924dc5f3876cd33e257012a3ba09
BLAKE2b-256 checksum
How to use checksums
fcad517f90e4eedaafefe52a0bfff37d9f6afbec64713c7fdd85b4c1014605f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 1, 2026.

Transparency log

Security for pose-anonymization 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pose_anonymization-0.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page