https://github.com/epilot-dev/epilot-app-schufa
Schufa App for epilot
https://github.com/epilot-dev/epilot-app-schufa
Last synced: 10 months ago
JSON representation
Schufa App for epilot
- Host: GitHub
- URL: https://github.com/epilot-dev/epilot-app-schufa
- Owner: epilot-dev
- Created: 2025-08-12T09:43:10.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-12T18:38:58.000Z (10 months ago)
- Last Synced: 2025-08-12T20:29:10.970Z (10 months ago)
- Language: TypeScript
- Homepage:
- Size: 179 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

Schufa App for epilot
epilot Marketplace •
Apps Developer Docs
## Prerequisites
Simple API to check a schufa report for a given person.
This app is built by epilot.
All non-prod environments solely use the TEST certificate. Only prod contains the PROD certificate.
## TODO
- Translations for the error/skip messages: send a language flag to the API
- Temp access token by epilot is only valid for 30 minutes. How can we handle long running manual processing?
## Development
```
npm install
npm run dev
```
## Secrets
1. Create base64 encoded version of certificate:
```bash
base64 -i /path/to/your/cert.crt | tr -d '\n' > cert.b64
```
2. Set the secret to your local sst environment:
```bash
pnpm run sst secret set TestSchufaCert "$(cat TEST_cert.b64)"
```
3. After you've set the local secret you need to deploy once
```bash
pnpm run sst deploy --stage
```
## Manual Processing
Most of the API credit checks are automatic. However, sometimes the API returns a status code 202, which means a manual intervention by a Schufa employee is necessary. This can take a couple of hours and sometimes days.
They work from Monday to Friday from 8 AM to 5 PM. In the test environment, manual processing is done more sporadically.
Around 0.03% of all requests require manual processing.
A StepFunction is excuted asynchronously when the API returns a 202 status code. It is a simple lambda which calls the Schufa API with the reportId (the async id for the procesing). If the request returns 202, it waits for 15 minutes up to 8h.