程序员因项目被调查,家属可能听到“程序有问题”“公司数据涉案”,却说不清家人写了什么代码、是否掌握系统权限、知道项目会怎样使用。与承办律师第一次沟通,重点是把技术事实、个人职责和涉嫌罪名拆开。
一、先确认罪名,再看程序实际做了什么
计算机刑事案件涉及非法获取数据、非法控制系统、破坏系统等不同罪名,有时还涉及帮助信息网络犯罪活动或其他犯罪。法律评价要对应具体行为,不能因为都与代码有关,就使用同一套判断。
可以先描述程序运行的过程:部署在哪个设备,接收什么输入,访问哪些接口或系统,改变了什么数据,输出是什么;相关操作是否需要授权,系统在操作前后能否正常运行。不了解技术细节的家属,可以先记下项目名称、岗位和可能了解情况的人员。
二、律师怎样核查程序员的个人责任?
- 工作内容:核对岗位、任务分配、代码提交、版本记录和上线维护情况,区分本人开发、他人修改和系统最终使用。
- 技术功能:审查源代码、运行环境、测试结果及日志,关注鉴定使用的版本、设备和条件,判断结论与实际使用是否一致。
- 个人认识:了解需求文档、工作沟通、报酬方式以及当事人何时知道程序用途。知道程序有某种功能,与知道他人全部行为,不必然是同一件事。
- 危害结果:核对数据获取、系统控制、功能中断或经济损失等指控,分别看证据能证明什么,避免把公司或其他参与者的全部行为直接归给某个开发者。
涉及专业技术时,律师可以结合案卷讨论是否需要有专门知识的人协助。技术解释应能回答具体法律问题,而不是只展示复杂术语。
三、案例:程序被指破坏系统,律师如何检验技术证据?
案件经过:一名软件开发人员被指控为他人开发并维护程序。贷款中介使用相关程序完成页面跳转并展示虚假证明材料,案件涉及骗取银行贷款;公诉机关同时指控相关程序对计算机信息系统造成干扰,构成破坏计算机信息系统罪。
律师的工作:叶斌律师与当事人充分沟通后,对计算机系统部分提出无罪辩护,对贷款相关指控则围绕个人认识和参与程度提出辩护。庭审中,律师对鉴定材料来源及鉴定意见提出质疑,并结合程序运行方式,分析系统本身是否因相关操作不能正常运行。
辩护人提出,程序跳转可能影响使用者看到的内容,但要认定破坏计算机信息系统,仍需证据证明法定的系统功能受损及相应后果。针对贷款部分,律师认为当事人知悉程序用于骗取贷款,与其是否具有非法占有银行贷款的目的,是需要分别审查的问题。
处理结果:一审法院采纳了关于未证明系统不能正常运行等辩护意见,也采纳了关于非法占有目的证据不足的意见,最终以骗取贷款罪对当事人作出判决。
这个案例展示了技术分析如何与法律要件对应:既看程序怎样运行,也看开发者对使用目的知道什么,以及证据能够支持何种结论。
四、怎样判断能否与承办律师直接讨论技术问题?
可以先问:谁实际会见和阅卷;如何审查代码、日志和鉴定意见;能否把技术功能转化为清楚的事实问题;必要时怎样与技术人员协作。谈论过往案例时,也可请律师说明具体处理了什么争议,而不是只看案件名称。
家属如持有合法取得的岗位说明、任务记录、项目合同或版本资料,可先列目录并说明来源。涉及客户数据、商业秘密或无权访问的系统,不要自行登录、下载或修改,由律师讨论合法获取和保全方式。
五、常见问题
- 只是写代码,没有直接操作业务,也会被追责吗?
要看代码功能、参与方式、个人认识以及与他人行为的联系。岗位名称不能代替对具体行为和证据的分析。
- 鉴定报告说程序有某种功能,就能确定已经造成后果吗?
功能、实际运行及造成的后果是不同问题。应核对检材版本、测试环境、操作过程和结论与案件指控的对应关系。
- 公司项目涉案,个人能否另请律师?
可以依法委托辩护人。不同人员的陈述和利益可能存在差异,律师需要依法审查是否存在利益冲突。
- 技术资料太多,第一次怎么准备?
先列项目时间线、开发与上线阶段、本人岗位和主要争议,再标注代码、日志及需求文件由谁保存。无法取得的材料先说明,不要为了凑齐材料改动原始文件。
