周三,严总带着合规专员来了。姑娘抱着台Surface,四十七张证照的脱敏清单排得整整齐齐:国内的是批准文号、GMP证书、委托生产备案;欧盟那边是CEP符合性声明和GMP互认证书。编号、有效期、适用范围都留着,企业名称和地址打了码。
卫越先汇报摸底的结论:「欧盟公开库的接口我昨晚摸了一遍,卡得严,每小时五十次,要带申请的token。但返回的数据结构很规整,比国内某些网页好处理。日期格式的坑——他们日/月/年和月/日/年混着用,我们之前写的兼容层改个参数就能用,不用重写。」
「映射呢?」陆衍问。
严总从公文包里摸出一份打印稿:「我们合规部提前对过一版,今天带来当场核。」
「丑话说在前面。」陆衍把映射稿接过来,「欧盟证和国内证没有公开对照表,映射关系只能你们自己建——哪张国内证对应哪张欧盟证,这是你们的内部知识。表归你们所有,我们只拿建好的映射跑监测,原始数据不落地,协议里写明不留存。」

「就该这么办。」严总点头,「我们内部也是这么定的。」
三个人围着桌子逐行核。前四十六张都顺:批准文号对CEP,有效期、适用范围全对得上。卫越在旁边记字段差异,时不时插一句:「这个证书编号有大小写,爬虫加个转换」「这个日期是DD/MM/YYYY,正则调好了」。
核到第四十六张的时候,严总还挺松,说他们国内团队上个月刚做完年检,证照全在有效期,出不了岔子。
翻到第四十七张,卫越的指尖停住了。
安澜中国主体的一张高端原料药欧盟GMP互认证书,在公开库里的状态栏,标着「suspended」。

会议室里静了几秒。
「这不可能。」严总凑近屏幕,「这张证去年年底刚续的,我们从来没收到过暂停通知。」
卫越没说话,指尖敲得飞快,画面跳到公开库的处罚公示页。处罚栏顶置的一条,时间戳是去年11月15日,证书编号和那张 suspended 的证书完全一致。处罚原因:去年三季度抽检,安澜出口欧洲的一批原料药检出基因毒性杂质,超欧盟新标准0.03ppm。国内的检测阈值当时没调,所以国内质检报告是合格的。
「他们只给证书持有人发了正式函件,没抄送国内监管。」卫越把页面放大,「函件发的是你们欧洲总部。国内这边,没人往下传。」
严总直起身,从口袋里摸出烟,又塞了回去。

「出口批次的货后来怎么处理的,我们国内根本不知道。」他声音低了半截,「得亏先扫了一遍。下个月我们还要拿这套证照去跟新客户签框架——对方要是先做一步跨境核查,这一页就是谈判桌上的雷。」
「处罚页和证书状态都是公开信息,截图发你们了。」陆衍说,「怎么对接整改,是你们的事。我们能做的,是从今天起把这张证放进监测,状态一变,当天提醒。」
严总转头看合规专员,专员已经在记了:「全量测试提前到下周。」
「还有个事。」卫越把清单往回翻了两页,「你们另有两张CEP证书,三个多月后到期。建映射的时候你们只对了状态,没留意临期。要不要一起进监测?」
严总凑过去看了一眼,苦笑:「加。全加上。」

送走他们,卫越在电梯口压着声音说:「陆哥,我刚发现他们处罚栏每天凌晨更新,比证照状态栏晚四个小时。爬虫得加个单独定时任务,不然当天的处罚会漏。」
「写进需求文档,别靠人盯。」
回到办公室,太阳已经偏西。陆衍翻开本子,在最新一页写了两行:
「跨境第一张牌,是别人没翻开的。 监测的价值不在预警,在于有些雷,客户自己的体系里都传不到。」