Metadata-Version: 2.4
Name: effaced
Version: 0.1.0
Summary: GDPR data-subject mechanisms — export, erasure, consent, and audit across your own database and the external systems you use. We ship the mechanisms. You own the compliance.
Project-URL: Homepage, https://effaced.dev
Project-URL: Repository, https://github.com/jaylann/effaced
Project-URL: Issues, https://github.com/jaylann/effaced/issues
Project-URL: Changelog, https://github.com/jaylann/effaced/blob/main/packages/effaced/CHANGELOG.md
Author-email: Justin Lanfermann <Justin@Lanfermann.dev>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: audit,consent,data-erasure,dsar,fastapi,gdpr,postgres,privacy,right-to-be-forgotten,sqlalchemy
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Security
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: pydantic>=2.7
Requires-Dist: sqlalchemy>=2.0
Description-Content-Type: text/markdown

# effaced

GDPR data-subject mechanisms — export (Art. 15), erasure (Art. 17), consent
(Art. 7), and an append-only audit trail — across your own database **and**
the external systems you actually use.

**We ship the mechanisms. You own the compliance.**

This is the core package. See the [repository README](https://github.com/jaylann/effaced)
for the full story, quickstart, and resolver packages.

```bash
uv add effaced
```

```python
from sqlalchemy.orm import Mapped, mapped_column
from effaced import PiiCategory, pii, subject_link

class User(Base):
    __tablename__ = "users"
    __table_args__ = {"info": subject_link("")}

    id: Mapped[int] = mapped_column(primary_key=True)
    email: Mapped[str] = mapped_column(info=pii(PiiCategory.CONTACT))
```

> **Not legal advice.** effaced provides technical mechanisms for
> implementing data-subject rights. It does not make you GDPR-compliant
> and does not constitute legal advice.

Licensed under Apache-2.0.
