Chemical Safety (SDS Author)
Get Started with This SkillOverview
Author and validate Safety Data Sheets (SDS / FISPQ) compliant with REACH Annex II, GHS, CLP Regulation, and ABNT NBR 14725-4 for EU and Brazilian markets. Validates the 16 mandatory sections and cross-checks chemical concentrations against CLP thresholds to auto-suggest H and P phrases.
The skill covers two key regulatory markets with distinct requirements:
- EU (REACH Annex II) — Full 16-section SDS per Commission Regulation (EU) 2020/878, including REACH registration numbers, DNELs/PNECs, Seveso III assessment, and EUH supplemental phrases.
- Brazil (NBR 14725-4) — FISPQ with NR-15 occupational exposure limits, ANTT transport classification, NBR 10004 waste codes, and CONAMA/Anvisa/IBAMA regulatory references.
Getting Started
Add your chemical data — formulation sheets, existing SDS drafts, or raw composition data — to the project workspace. Then activate the Chemical Safety (SDS Author) skill. The agent will scope your product, determine the hazard classification from composition, draft all 16 sections using the built-in template, and validate the result with both automated tools.
Example Conversation
Below is an example of how a typical SDS authoring session unfolds. The agent scopes the product, derives the hazard classification, drafts the document, and validates it.
You: We need to draft an SDS for our industrial surface cleaner, “CleanPro X200”. It’s a mixture sold in the EU and Brazil. Composition: 10% sodium hydroxide (CAS 1310-73-2), 5% isopropanol (CAS 67-63-0), 2% sodium hypochlorite (CAS 7681-52-9), balance is water. We don’t have a classification yet.
Agent: I’ll guide you through the full SDS. Let me confirm a few details:
- Physical form: Is this a liquid solution? What colour and odour?
- Packaging: How is it supplied (drums, bottles, IBCs)?
- REACH registration: Do you hold REACH registrations for these substances, or do you purchase from registered EU suppliers?
- Emergency telephone: Do you have a 24/7 EU emergency number, and a Brazilian one (CEATOX or PRÓ-QUÍMICA)?
Meanwhile, let me derive the classification. At 10%, sodium hydroxide (CAS 1310-73-2) well exceeds the Skin Corr. 1A threshold of 1% — this drives the mixture to Skin Corr. 1A; H314. The isopropanol at 5% is above its 1% threshold — it contributes Flam. Liq. 2; H225 and Eye Irrit. 2; H319. The sodium hypochlorite at 2% is above 1% — contributing Skin Corr. 1B; H314 (already covered by the NaOH classification) and Aquatic Acute 1; H400.
Overall mixture classification:
- Flam. Liq. 2 — H225
- Skin Corr. 1A — H314
- Eye Dam. 1 — H318 (subsumed by H314)
- Aquatic Acute 1 — H400
- Met. Corr. 1 — H290
Signal word: Danger Pictograms: GHS02, GHS05, GHS09
You: It’s a clear, pale yellow liquid with a chlorine-like odour. Supplied in 5L and 20L HDPE containers. We buy from registered EU suppliers — we’re a downstream user. For emergency: we use the National Poisons Information Service (UK +44 344 892 0111) for EU, and PRÓ-QUÍMICA 0800-118270 for Brazil.
Agent: I’ve started the SDS from the template. A few important points I’ve flagged:
Flammability note: At 5% isopropanol in aqueous solution, the mixture’s overall flash point is likely above 60°C — which would make Flam. Liq. 2 (H225) inapplicable. Do you have flash point test data? If the flash point is > 60°C, we can remove the flammability classification. If not, I’ll keep it as a conservative classification.
Sodium hypochlorite instability: NaClO decomposes in the presence of acids and generates chlorine gas. I’ve added “EUH206: Warning! Do not use together with other products. May release dangerous gases (chlorine).” to Section 2 for the EU version. This is an EU-specific supplemental phrase.
Aquatic toxicity M-factor: For sodium hypochlorite with M-factor = 10, at 2% concentration the effective concentration for classification is 20%, which keeps us in Aquatic Acute 1.
I’ve now populated all 16 sections. Let me run validation.
I’ve run the
sds_16_point_validator— all 16 sections present, EU and Brazilian regulatory references included. Two warnings: Section 8 is missing the NR-15 OEL for sodium hydroxide (I’ve found it: LT = valor teto 8 mg/m³) and Section 14 needs the ANTT hazard class. Let me fix those.I’ve also run the
hazard_phrase_mapper— it confirmed all H phrases are present for the three active ingredients above their thresholds. It flagged two missing P phrases (P273 for environmental protection, P391 for spill collection) which I’ve now added.The SDS is complete. Shall I review any specific section in detail?
Sample Output Excerpt
Below is a representative excerpt from a validated SDS, showing the Section 2 label elements and Section 3 composition — the two sections most scrutinised by REACH inspectors and downstream users.
Section 2: Hazards Identification — CleanPro X200
Classification per CLP (EC 1272/2008):
| Hazard Class | Category | H Phrase |
|---|---|---|
| Skin Corr. | 1A | H314 |
| Aquatic Acute | 1 | H400 |
| Met. Corr. | 1 | H290 |
Label Elements:
| Element | Value |
|---|---|
| Signal word | Danger |
| Pictograms | GHS05, GHS09 |
Hazard statements:
- H290 — May be corrosive to metals
- H314 — Causes severe skin burns and eye damage
- H400 — Very toxic to aquatic life
Precautionary statements:
- P260 — Do not breathe mist/vapours/spray
- P264 — Wash hands thoroughly after handling
- P273 — Avoid release to the environment
- P280 — Wear protective gloves/protective clothing/eye protection/face protection
- P301+P330+P331 — IF SWALLOWED: Rinse mouth. Do NOT induce vomiting
- P303+P361+P353 — IF ON SKIN (or hair): Take off immediately all contaminated clothing. Rinse skin with water/shower
- P304+P340 — IF INHALED: Remove person to fresh air and keep comfortable for breathing
- P305+P351+P338 — IF IN EYES: Rinse cautiously with water for several minutes. Remove contact lenses, if present and easy to do. Continue rinsing
- P310 — Immediately call a POISON CENTER/doctor
- P391 — Collect spillage
- P405 — Store locked up
- P501 — Dispose of contents/container in accordance with local regulations
Supplemental information (EU):
- EUH206 — Warning! Do not use together with other products. May release dangerous gases (chlorine)
Section 3: Composition — CleanPro X200
| Component | CAS No. | EC No. | REACH Reg. No. | Concentration (%) | CLP Classification |
|---|---|---|---|---|---|
| Sodium hydroxide | 1310-73-2 | 215-185-5 | 01-2119457892-27 | 10 | Skin Corr. 1A; H314, Met. Corr. 1; H290 |
| Isopropanol | 67-63-0 | 200-661-7 | 01-2119457558-25 | 5 | Flam. Liq. 2; H225, Eye Irrit. 2; H319, STOT SE 3; H336 |
| Sodium hypochlorite | 7681-52-9 | 231-668-3 | 01-2119488154-34 | 2 | Skin Corr. 1B; H314, Aquatic Acute 1; H400 (M=10) |
| Water | 7732-18-5 | 231-791-2 | — | Balance | Not classified |
Built-in Validation Tools
The skill includes two automated validation tools that run against the SDS document during and after drafting:
sds_16_point_validator
Validates SDS structural completeness and market compliance. Checks performed:
- Section coverage — Verifies all 16 mandatory section headings are present (Sections 1–16 per REACH Annex II / GHS / NBR 14725-4)
- Sub-section content — Detects empty or under-populated sections by checking for expected keywords within each section boundary
- GHS labelling elements — Checks for signal words (Danger/Warning), pictogram codes (GHS01–GHS09), H phrases, and P phrases
- EU market compliance — REACH references, CLP references, registration numbers, Seveso III
- Brazil market compliance — NBR 14725/ABNT references, NR-15 OELs, CONAMA/IBAMA/Anvisa/ANTT references
- Placeholder detection — Finds unfilled markers ([INSERT], [TODO], [TBD], [PREENCHER], etc.)
Accepts an optional market parameter (“eu”, “br”, or “both”) to tailor checks.
Example output:
======================================================================
SDS 16-SECTION VALIDATION REPORT
REACH Annex II / GHS Rev.8 / NBR 14725-4
======================================================================
Document: output/sds-document.md
Target market: BOTH
Sections found: 16 / 16
--- SECTION COVERAGE ---
✓ Section 1: Identification of the substance/mixture ...
✓ Section 2: Hazards identification
...
✓ Section 16: Other information
--- SUMMARY ---
Sections present: 16 / 16
Errors: 0
Warnings: 1
Info: 3
RESULT: REVIEW NEEDED — address warnings to strengthen compliance.
======================================================================
hazard_phrase_mapper
Cross-checks composition against the CLP Regulation to verify H/P phrase correctness. Checks performed:
- Substance identification — Extracts chemical names, CAS numbers, and concentrations from the document
- CLP threshold comparison — Compares each substance’s concentration against its classification threshold (built-in database of ~16 common industrial chemicals)
- H phrase verification — Reports missing H phrases for substances above their CLP classification threshold
- P phrase verification — Reports missing recommended P phrases
- GHS pictogram consistency — Verifies expected pictograms are declared in the document
- Unknown substances — Flags substances not in the built-in database for manual verification via the ECHA C&L Inventory
Example output:
======================================================================
HAZARD PHRASE MAPPING REPORT
CLP Regulation (EC 1272/2008) / GHS
======================================================================
Document: output/sds-document.md
Substances found: 3
Substances in CLP database: 3
--- SUBSTANCE ANALYSIS ---
Sodium hydroxide (CAS 1310-73-2, line 45):
Concentration: 10%
CLP classification: Skin Corr. 1A; Eye Dam. 1
Classification threshold: 1%
Above threshold: YES
Expected H phrases: H314, H290
Matched H phrases: H314, H290
Pictograms: GHS05
Signal word: Danger
--- SUMMARY ---
Substances analysed: 3
Database matches: 3
Above threshold: 3
Errors: 0
Warnings: 0
RESULT: COMPLIANT — all identified substances have correct H/P phrase coverage.
======================================================================
The agent runs both tools iteratively — first the sds_16_point_validator for structural completeness and market compliance, then the hazard_phrase_mapper for hazard phrase verification — and surfaces findings inline so issues are resolved before distribution to customers or regulatory submission.