Skip to content
FAVES API · Hosted, certified

Regulatory compliance, in your pipeline.

One API call, one certified compliance decision, one immutable audit receipt. DEA scheduling, EU REACH, PAINS filters, structural alerts, sponsor whitelists — the record your regulatory affairs team hands to the FDA reviewer.

How you use it

Get an API key. Send a SMILES to POST /v1/faves/check with the frameworks you need screened. Get back a compliance decision and a receipt URL you can hand to a reviewer. That's the whole workflow. No SDK to install, no schema to learn beyond the request body — just an HTTP call from wherever your pipeline lives.

One call, one record

The API is the product. Here's the actual request and response.

Request
$ curl -X POST https://api.novomcp.com/v1/faves/check \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ncmcp_...' \
  -d '{
    "smiles": "CC(=O)Oc1ccccc1C(=O)O",
    "frameworks": ["dea", "eu_reach", "pains", "structural_alerts"]
  }'
Response
{
  "smiles": "CC(=O)Oc1ccccc1C(=O)O",
  "name": "aspirin",
  "cleared": true,
  "checks": {
    "dea":               { "flagged": false, "schedule": null },
    "eu_reach":          { "flagged": false, "annex_xvii": [], "svhc": false },
    "pains":             { "flagged": false, "matches": [] },
    "structural_alerts": { "flagged": false, "matches": [] }
  },
  "audit": {
    "call_id":     "cal_01HRE8ZQK4M7X...",
    "ruleset_ver": "faves-v4.1.3",
    "retention":   "7y",
    "receipt_url": "https://api.novomcp.com/v1/faves/audit/cal_01HRE8ZQK4M7X..."
  }
}

Every call produces a receipt_url with the ruleset version, tamper-evident hash, and retention pointer. That's the record your compliance team hands the auditor — not a screenshot of a report, an addressable immutable receipt.

What we screen against

Every major dictionary a regulated submission touches.

DEA controlled substances
US Schedules I–V, precursor rules, list I/II chemicals
EU REACH
Annex XVII restrictions, SVHC candidate list, Annex XIV authorization list
PAINS filters
Baell & Holloway A/B/C sets (1500+ pan-assay interference substructures)
Structural alerts
BMS + Glaxo + Pfizer + Bruns/Watson alert dictionaries
Whitelists
Sponsor-defined chemistry-of-interest lists with per-project overrides
PMDA / KFDA / TGA
Japan, Korea, Australia regulatory lists (subset by tier)

Ruleset version pinned in every response. Drift-monitored monthly against upstream sources (DEA notices, ECHA updates, ChemRxiv corrections). Delta report before your next submission window.

What's in the service

Immutable audit trail, drift monitoring, IQ / OQ / PQ, and SLA.

Immutable audit-log retention

Every call + response written to S3 Object Lock with regulatory retention (7yr default, configurable). Meets the 21 CFR Part 11 electronic-records requirement that a compliance decision be reconstructable from a tamper-evident trail.

IQ / OQ / PQ documentation

Per-version installation-qualification, operational-qualification, and performance-qualification packets. What your compliance team hands the auditor when the FDA asks how the compliance layer was validated.

Drift monitoring

Monthly diff between the deployed ruleset and upstream regulatory sources. When DEA updates a schedule or EU adds an SVHC, the drift monitor flags the delta before your next submission cycle.

SLA + SAML SSO

99.9% uptime commitment, incident-response bound to a named on-call rotation, SAML integration with your identity provider so pipeline agents authenticate through the same directory as human analysts.

Peer-reviewable

The FAVES V4 compliance framework is documented in an open preprint on ChemRxiv under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 license. Verify the ruleset construction, cite it in your submission, reproduce the sensitivity/specificity results — that's what open publication is for.

Read the FAVES V4 preprint on ChemRxiv →
Regulated pipelines · Contact

Route your submission shortlist through FAVES.

Access is granted per pipeline. Tell us what you're submitting and we'll scope the fit.