Overview
After a breach, two questions have statutory deadlines attached: whose information was exposed, and have they been told. Answering them today means a professional-services engagement - commonly one to three dollars per notified person, with project minimums - or an analyst reconciling exports by hand into a spreadsheet that no one wants to defend under examination. Both answers require handing the most sensitive material your organisation will ever hold to somebody else.
Breach Notification System is that workflow as software you run yourself, on your own instance, with nothing sent anywhere.
NOTHING LEAVES THE INSTANCE. This is the design constraint the rest of the product is built around, not a deployment option. Every stage - ingestion, detection, entity resolution, moderation, reporting - executes on the instance, against storage you own. The language model used for name and context recognition is baked into the machine image and loads in offline mode; it is never downloaded at runtime. There is no call to any third-party service, no telemetry, no licence check that phones home, and no path by which breach content reaches a network you do not control. The instance operates correctly in a VPC with no internet gateway and no NAT, and the honest way to confirm that is to launch one with egress denied and watch it work. Your security review should not have to take our word for it.
INGEST. Point it at the material: documents, CSV and JSON exports, database dumps, email, and folders of mixed content. Every artifact is content-hash de-duplicated and logged. Anything unreadable is listed by name with a reason - never silently skipped, because a file dropped without a trace is the one that surfaces in litigation.
DETECT. Structured identifiers are matched by validators, not by pattern alone: Luhn for payment cards, the ABA checksum for routing numbers, mod-97 for IBAN, structural rules for SSN. Names, clinical context and other free-text entities are recognised by the local language model. A custom lexicon layer covers client-specific terms. Every finding carries the engine that produced it, its confidence, its evidence span, and the artifact it came from - so a disputed finding can be traced to the character offset that produced it.
Extended sensitive categories are handled separately and deliberately. Medical conditions that appear in correspondence but never in a personnel file, and content carrying possible reporting obligations, are surfaced for counsel and can never be auto-actioned. The system flags; a person decides.
RESOLVE. Findings become people. Identifiers belonging to one individual are assembled into a single subject carrying the data classes that statutes key on, because notification obligations attach to people, not to rows. Resolution is deliberately conservative by default - a wrong merge means someone never gets notified - and the aggressiveness is a setting you own rather than one we chose for you.
MODERATE. Each resolved person is included or excluded by a reviewer, with a reason recorded. Second-approver sign-off is available per incident. Approval freezes a content-hashed list version; after that, decisions are immutable and any revision opens a new, diffable version. The audit log is append-only and reconstructs who decided what, when, and what it was before.
REPORT. Notification lists, regulator-ready exports including a GDPR Article 33 bundle, and an HTML audit report. Dry-run is the default and the send path refuses to operate against a list that has not been approved and locked.
RULES ARE CONFIGURATION, VERSIONED AND IMMUTABLE. Identifier types in scope, confidence thresholds, custom lexicons, merge behaviour and governing jurisdiction are captured in a named rule set with a content-hash identifier. Editing one mints a new version rather than mutating it, so any job can be re-run under different rules and the two runs compared directly.
THROUGHPUT. Measured at 5.8 records per second, approximately 20,900 records per hour, with entity recognition enabled. Throughput scales with instance size.
DEPLOYMENT. Serves on port 8080 at first boot with no configuration. Restrict that port to trusted ranges - the product keeps your data off the internet, and your security group should keep the interface off it too.
Highlights
- Nothing leaves the instance. Ingestion, detection, entity resolution, moderation and reporting all execute locally on the EBS volume you own. The language model weights are baked into the image and load in offline mode, so no model is fetched at runtime. No third-party API is called, no telemetry is emitted, and no breach content is transmitted anywhere. The instance runs correctly in a closed VPC with no internet gateway and no NAT - verify it by launching one with egress denied.
- Accuracy you can put in front of a regulator. Seventeen detectors covering SSN, payment card, bank account, ABA routing, IBAN, health plan member ID, medical record number, diagnosis code and dates of birth. Scored against a 1.2-million-artifact labelled corpus containing 600,000 deliberate near-miss distractors. Precision 100% across all detectors; 15 of 19 identifier types at 100% recall.
- No one is notified without a recorded human decision. A reviewer includes or excludes each person with a stated reason, with optional second-approver sign-off. Approving locks a content-hashed list version that cannot be edited afterward; a later change opens a new version, and the difference between versions is itself evidence. Dispatch is refused against any unlocked list.
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
Dimension | Description | Cost/hour |
|---|---|---|
m5.xlarge Recommended | BNS on m5.xlarge | $10,000.00 |
c5.2xlarge | BNS on c5.2xlarge | $10,000.00 |
c5.xlarge | BNS on c5.xlarge | $10,000.00 |
m5.2xlarge | BNS on m5.2xlarge | $10,000.00 |
m5.4xlarge | BNS on m5.4xlarge | $10,000.00 |
m5.large | BNS on m5.large | $10,000.00 |
r5.2xlarge | BNS on r5.2xlarge | $10,000.00 |
r5.xlarge | BNS on r5.xlarge | $10,000.00 |
t3.large | BNS on t3.large | $10,000.00 |
t3.xlarge | BNS on t3.xlarge | $10,000.00 |
Vendor refund policy
Contact RRecktek LLC at https://www.rrecktek.com/support/ for refund requests. Response within one business day.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release. Ubuntu 24.04 LTS base. BNS A2A API on port 8080 with Prometheus metrics on /metrics. Deterministic PII validators, record-scoped entity resolution, moderated notification list with four-eyes approval, dry-run-default dispatch, CSV/GDPR/HTML reports.
Additional details
Usage instructions
The BNS API starts automatically on boot and listens on port 8080.
- Confirm the service is healthy: curl http://<instance-dns>:8080/health
- Review the detection catalog and default rule set: curl http://<instance-dns>:8080/config
- Create a rule set, then ingest: curl -X POST http://<instance-dns>:8080/rulesets -H 'Content-Type: application/json' -d '{"name":"my-rules","auto_merge":"moderate","record_unit":"line"}' curl -F 'file=@records.csv' -F 'ruleset=<id>' http://<instance-dns>:8080/ingest
- Review resolved people, then decide on each: curl 'http://<instance-dns>:8080/people?job=<job>' curl -X POST 'http://<instance-dns>:8080/people/<person>/decision?job=<job>' -H 'Content-Type: application/json' -d '{"action":"include","reason":"...","reviewer":"..."}'
- Approve the list, then dispatch (dry-run is the default): curl -X POST 'http://<instance-dns>:8080/list/approve?job=<job>' -H 'Content-Type: application/json' -d '{"approver":"...","second_approver":"..."}' curl -X POST 'http://<instance-dns>:8080/notify?job=<job>' -H 'Content-Type: application/json' -d '{"mode":"dry-run","channel":"letter"}'
Reports: /report/<job>.csv, .gdpr, .html, .json Audit log: /audit | Metrics: /metrics
SSH access is by your own EC2 key pair as user 'ubuntu'. Restrict port 8080 to trusted CIDRs - breach data is sensitive.
Support
Vendor support
RRecktek LLC. Response within one business day.
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


