Overview
Find and remove Brazilian personal data from Portuguese text inside your own AWS account. The model runs as a SageMaker real-time endpoint or batch transform job with network isolation: it makes no outside calls, and your text never leaves your account.
What it finds: CPF and CNPJ (including the new alphanumeric CNPJ) with check-digit validation, RG, CNH, PIS/PASEP, voter ID, OAB, RENAVAM, vehicle plates (old and Mercosul), bank branch and account, card numbers, PIX keys, phones, emails, CEP, addresses, dates of birth and people's names.
What it does with each finding, chosen per type: replace it with a consistent placeholder derived from your own secret key (the default), so cleaned records can still be joined and counted; mask it (CPF in the government format *.456.789-; names, dates of birth, emails and addresses in full); remove it; or only report it. The response lists every finding with its type and position in the original text. Original values are returned only if you ask for them.
Who it is for: companies and public bodies in Brazil, and teams handling Brazilian customer data, that need to clean support tickets, chats, emails, call transcripts, forms, contracts or court documents before analysing, sharing or storing them, or before sending them to a large language model or chatbot.
How it works: structured identifiers are found by rules written for Brazilian formats, including separators and line breaks inside numbers, numbers written out in words, check digits, and the words around a number, so that order, protocol and court case numbers are not taken for CPFs. Names come from the GLiNER2 privacy filter model (Apache-2.0, used as published), with filters for role words, titles and place names. Addresses and dates of birth are found by rules. No customer data was used to build it.
How it was measured: on a held-out test split of 648 Portuguese sentences (public court decisions, Wikipedia-style text, and support, banking, health, legal and vehicle messages with fake but valid identifiers), it removed 98% of 915 labelled items, made 19 marks outside them, and wrongly marked 6 of 80 sentences that had no personal data or only look-alike numbers. RG, RENAVAM and vehicle plates were each found in full on a second held-out split.
Speed: on ml.c7i.xlarge, one short message takes about 0.3 seconds and one instance cleans about 31,000 messages an hour, every worker busy.
Formats: real-time requests in JSON, plain text or CSV; batch transform over JSON Lines, CSV or plain-text files in S3, with the same format back. The sample notebook runs an endpoint and three batch jobs on built-in sample data.
Limitations: Portuguese text only. Names in all-lowercase informal text are found less reliably than in normal text. RG numbers and bank details have no national check digit and are recognised by the words around them. Replacing values with placeholders is pseudonymisation, not anonymisation: keep your key secret.
Highlights
- Brazilian identifiers general tools miss: CPF and CNPJ (including alphanumeric) with check digits, RG, CNH, PIS, voter ID, OAB, RENAVAM, plates, bank details, PIX keys and CEP, plus names, addresses and birth dates.
- Removed 98% of labelled personal data on a held-out test set of 648 Portuguese sentences (court decisions, support chats, forms, look-alike numbers), with 19 false marks.
- Consistent placeholders from your own secret key, so cleaned records can still be joined and counted; or mask, remove, or only report, per type. Your text never leaves your account.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
Dimension | Description | Cost/host/hour |
|---|---|---|
ml.m5.large Inference (Real-Time) Recommended | Model inference on the ml.m5.large instance type, real-time mode | $0.22 |
ml.c7i.xlarge Inference (Batch) Recommended | Model inference on the ml.c7i.xlarge instance type, batch mode | $0.62 |
ml.m5.xlarge Inference (Real-Time) | Model inference on the ml.m5.xlarge instance type, real-time mode | $0.44 |
ml.c5.xlarge Inference (Real-Time) | Model inference on the ml.c5.xlarge instance type, real-time mode | $0.47 |
ml.c6i.xlarge Inference (Real-Time) | Model inference on the ml.c6i.xlarge instance type, real-time mode | $0.55 |
ml.c7i.xlarge Inference (Real-Time) | Model inference on the ml.c7i.xlarge instance type, real-time mode | $0.62 |
ml.m5.large Inference (Batch) | Model inference on the ml.m5.large instance type, batch mode | $0.22 |
ml.m5.xlarge Inference (Batch) | Model inference on the ml.m5.xlarge instance type, batch mode | $0.44 |
ml.m5.2xlarge Inference (Batch) | Model inference on the ml.m5.2xlarge instance type, batch mode | $0.81 |
ml.c5.xlarge Inference (Batch) | Model inference on the ml.c5.xlarge instance type, batch mode | $0.47 |
Vendor refund policy
Software charges are billed by AWS per instance hour (real-time endpoints, batch transform and asynchronous inference), and stop when you delete the endpoint or the job ends. If you were charged for use in which the product did not work as described, email info@softwaresushi.com within 30 days with your AWS account ID and the endpoint or job name, and we will refund the software charges for that use. SageMaker infrastructure charges are billed by AWS and are not covered.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
Amazon SageMaker model
An Amazon SageMaker model package is a pre-trained machine learning model ready to use without additional training. Use the model package to create a model on Amazon SageMaker for real-time inference or batch processing. Amazon SageMaker is a fully managed platform for building, training, and deploying machine learning models at scale.
Version release notes
Finds CPF, CNPJ (including alphanumeric), RG, CNH, PIS/PASEP, voter ID, OAB, RENAVAM, vehicle plates, bank branch and account, cards, PIX keys, phones, emails, CEP, addresses, dates of birth and people's names in Portuguese text. Real-time JSON, plain text and CSV; batch JSON Lines, CSV and plain text. The placeholder key and the options travel with the data: in the JSON body, in each JSON Lines record, or as Content-Type parameters (text/csv; key=...; csv_columns=2), since Marketplace models take no environment variables.
Additional details
Inputs
- Summary
Portuguese text. Real-time: JSON ({"text": ...} or {"texts": [...]}, with your key and optional options), plain text or CSV. Batch transform: JSON Lines, CSV or plain-text files, one record per line. The key and options can also be Content-Type parameters, for example text/csv; key=...; csv_columns=2.
- Limitations for input type
- Portuguese text. Real-time: about 50 short texts or 20,000 characters per request (60-second limit). Batch: up to 1 MB per record.
- Input MIME type
- application/json, application/jsonlines, text/csv, text/plain
Input data descriptions
The following table describes supported input data fields for real-time inference and batch transform.
Field name | Description | Constraints | Required |
|---|---|---|---|
text | One text to clean (JSON requests). | String | No |
texts | Several texts to clean in one request (JSON requests). | List of strings; about 50 short texts per request | No |
key | Your secret for placeholders: the same value always gets the same placeholder with the same key. In the JSON body, a JSON Lines record, or the Content-Type (key=...). | Non-empty string; keep it secret and the same across runs | No |
options.action | What to do with each finding. | replace (default), mask, remove, report | No |
options.per_label | An action per type, overriding action. | Object of type to action, for example {"PERSON": "report", "CPF": "mask"} | No |
options.labels | Only look for these types. | List of PERSON, CPF, CNPJ, RG, CNH, PIS, VOTER_ID, OAB, RENAVAM, VEHICLE_PLATE, BANK_ACCOUNT, CARD, PHONE, EMAIL, CEP, ADDRESS, PIX_KEY, DATE_OF_BIRTH | No |
options.include_values | Also return the original values in the findings. | Boolean, false by default | No |
options.csv_columns | For CSV input, the columns to clean. | List of column numbers from 0; all columns by default | No |
options.csv_findings | For CSV input, add a column with the findings. | Boolean, false by default | No |
Custom attributes
The following table describes custom attributes for real-time inference endpoints.
Field name | Description | Constraints | Required |
|---|---|---|---|
key | Secret key for placeholders, for requests that do not carry one in the body or the Content-Type. | key=<your secret> | No |
Resources
Vendor resources
Support
Vendor support
Email support from Software Sushi, the publisher: info@softwaresushi.com . Weekdays; we reply within one or two business days. Security reports go to the same address; include the model package version and the AWS Region.
Support covers the model package: deploying it as an endpoint or batch transform job, request and response formats, the options, and anything it finds wrongly or misses (send the text, or a version with the personal data changed, and the version). Not covered: SageMaker setup beyond the steps in the sample notebook, and legal advice on LGPD compliance.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.
Similar products

